0
当我尝试使用带有我收到以下错误消息,我的预定义功能和载体解决:无法从Matlabs一个答案解决功能
警告:显式的解决方案不能被发现。
在169
在cardanAngles解决在33
我有三个未知变量和三个方程式。我应该能够找到这个答案。什么可能是错的?
V0 = transpose([-0.7969, 0.1778, 0.5774]);
V = [-0.7976 , 0.2282 , 0.5583];
syms a1 a2 a3
F1 = [ cos(a3 * pi/180).*cos(a2 * pi/180), cos(a3 * pi/180).*sin(a2 * pi/180).*sin(a1 * pi/180)+sin(a3 * pi/180).*cos(a1 * pi/180), -cos(a3 * pi/180).*sin(a2 * pi/180).*cos(a1 * pi/180)+sin(a3 * pi/180).*sin(a1 * pi/180)];
F2 = [-sin(a3 * pi/180).*cos(a2 * pi/180), -sin(a3 * pi/180).*sin(a2 * pi/180).*sin(a1 * pi/180)+cos(a3 * pi/180).*cos(a1 * pi/180), sin(a3 * pi/180).*sin(a2 * pi/180).*cos(a1 * pi/180)+cos(a3 * pi/180).*sin(a1 * pi/180)];
F3 = [ sin(a2 * pi/180) , -cos(a2 * pi/180).*sin(a1 * pi/180) , cos(a2 * pi/180).*cos(a1 * pi/180) ];
[a1, a2,a3] = solve(V(1)==F1*V0,V(2)==F2*V0, V(3)==F3*V0, a1,a1,a3);
记住,我没有在我的日子里编程很多 函数F是一个值,如果猜测向量猜测它是正确的,那么假设它等于0。 第二部分。你能解释一下代码的哪些部分? for循环假设改变猜测或者什么 谢谢! – MysGubbe 2013-05-03 08:09:29
您可以使用'qfun'的变体,通过省略F1,F2和F3的行来获取满足abs(F3 * V0-V(3))= 0的'a1'和'a2'的值。并编辑'F = abs(F3 * V0-V(3))'。为了得到它们,你可以使用上面提到的单独的文件,并通过合适的采样角度循环。 a1,a2的每一对猜测值都会收敛到一个近似解,然后你会得到我附加的图。然后使用获得的a1,a2作为a3值上的循环的猜测值。 – bla 2013-05-03 09:08:36