Во-первых, функция ввода возвращает строку, так что вам нужно будет преобразовать его в числовое значение. Во-вторых, cos принимает входные сигналы в радианах не в градусах, поэтому вам нужно будет либо преобразовать в радианы, либо использовать cosd
вместо cos
.
angles = 'Please enter the Euler angles in degrees- yaw(x),pitch(y) and roll(z) \n:';
ea = str2double(input(angles,'s'));
cosd(ea(1))
Вы также можете использовать input
без параметра 's'
. В этом случае ввод будет оценивать выражение, переданное как строка, и возвращать результат. Например, в этом случае вы можете не только пройти одиночное значение, такие как «90», но вы можете также передать вещи, как: 3 * 180/4 в качестве входного
angles = 'Please enter the Euler angles in degrees- yaw(x),pitch(y) and roll(z) \n:';
ea = input(angles);
cosd(ea(1))
Хороший пример! Как мы все знаем, 'x * 180/4' - это формула для преобразования' x' из радианов в градусы, для 'pi = 4'. –