Следующий код дает комплексное число в результате решателя;однако угол должен быть реальным углом, измеренным в градусах.
Есть ли способ оценить полярную форму для меня в сложной форме, прежде чем она будет передана решающему устройству для предотвращения интерпретации кода компиляторомтаким образом?
Я попытался использовать функцию pol2cart в другом небольшом изменении кода;однако, символическая секция, казалось, препятствовала правильной оценке, приводящей к ошибке.
clc;
theta_1 = 90;
theta_4 = 180;
theta_5 = 90;
R_1 = 13.336;
R_2 = 45.610;
R_3 = 64.221;
R_4 = 60.354;
R_5 = 21.967;
syms theta_2 theta_3
left = R_1*exp(1i*pi/180*theta_1)+R_2*exp(1i*pi/180*theta_2);
right = R_5*exp(1i*pi/180*theta_5)+R_4*exp(1i*pi/180*theta_4)+R_3*exp(1i*pi/180*theta_3);
eqn = left==right;
sol = solve(eqn,theta_2,theta_3);
theta2 = sol.theta_2
theta3 = sol.theta_3
Я ожидаю, что результат будет реальным углом, поскольку уравнение не будет генерировать комплексное значение, поскольку оцениваемый механизм будет ограничиватьпроблема только с действительными числами.