作业帮 > 综合 > 作业

matlab问题!我是初学者,编一个function函数来解一个方程组.

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/04 05:38:15
matlab问题!我是初学者,编一个function函数来解一个方程组.
方程组如下:

Wx、Wy和Wz为已知量(程序当中的u),会输入函数当中
自己编的程序如下:
function y = fcn(u)
%#codegen
w0=0.001;
u1=u(1);
u2=u(2);
u3=u(3);
syms a b c dot_a dot_b dot_c
[a,b,c,dot_a,dot_b,dot_c]=solve('u1=dot_a*cos(b)-dot_c*cos(a)*sin(b)-w0*(sin(c)*cos(b)+sin(a)*sin(b)*cos(c))','u2=dot_b+dot_c*sin(a)-w0*cos(c)*cos(a)','u3=dot_a*sin(b)+dot_c*cos(a)*cos(b)+w0*(sin(a)*cos(b)*cos(c)-sin(b)*sin(c))','dot_a=u(1)*cos(b)+u(3)*sin(b)+w0*sin(c)','dot_b=u(2)+w0*cos(a)*cos(c)+tan(a)*(u(1)*sin(b)-u(3)*cos(b)+w0*sin(a)*cos(c))','dot_c=(-u(1)*sin(b)+u(3)*cos(b)-w0*sin(a)*cos(c))/cos(a)','a','b','c','dot_a','dot_b','dot_c');
y = [a,b,c;dot_a dot_b dot_c];
/>第二个方程组是根据第一个方程组得到的吧?

微分方程组的求解请参考ode45函数的用法