编写MATLAB s-function状态方程中的未知数怎么给进去的问题?状态方程如下:

学习 时间:2026-04-08 01:18:25 阅读:2300
编写MATLAB s-function状态方程中的未知数怎么给进去的问题?状态方程如下:X'=A*X+B*Uy=C*x+D*U;用的是连续状态,编写s函数时因为矩阵A中有未知数w,具体的程序如下:function [sys,x0,str,ts,simStateCompliance] = quanjie(t,x,u,flag)Rs=1.405;Ls=0.178039;Rr=1.395;Lr=0.178039;Lm=0.1722;Rsr=Rs+(Lm/Lr)^2*Rr;Ls1=Ls-Lm^2/Lr;Tsr=Ls1/Rsr;Tr=Lr/Rr;switch flag,case 0,[sys,x0,str,ts,simStateCompliance]=mdlInitializeSizes;case 1,sys=mdlDerivatives(t,x,u);case 3,sys=mdlOutputs(t,x,u);case {2,4,9}sys = []; otherwiseDAStudio.error('Simulink:blocks:unhandledFlag',num2str(flag));endfunction [sys,x0,str,ts,simStateCompliance]=mdlInitializeSizessizes = simsizes;sizes.NumContStates = 4;sizes.NumDiscStates = 0;sizes.NumOutputs = 4;sizes.NumInputs = 2;sizes.DirFeedthrough = 1;sizes.NumSampleTimes = 1; % at least one sample time is neededsys = simsizes(sizes);x0 = [0 0 0 0]';str = [];ts = [0 0];simStateCompliance = 'UnknownSimState';function sys=mdlDerivatives(t,x,u)A=[-1/Tsr 0 Lm/(Ls1*Lr*Tr) Lm*wr/(Ls1*Lr) 0 -1/Tsr -Lm*wr/(Ls1*Lr) Lm/(Ls1*Lr*Tr)Lm/Tr 0 -1/Tr -wr;0 Lm/Tr wr -1/Tr ];B=[1/Ls1 1/Ls1 0 0]';sys = A*x+B*u;function sys=mdlOutputs(t,x,u)C=[1 0 0 00 1 0 00 0 0 00 0 0 0];sys = C*x;wr是要通过观测器出来的4个量计算的,怎么把wr值给入到矩阵中进行运算啊?我理解的s函数输入参数外,其他输入为状态变量的输入.请高人指教,感激!

最佳回答

有魅力的毛豆

稳重的钢笔

2026-04-08 01:18:25

你的问题可以化为下面向量的问题已知a=(1,1,1),b=(-1,1,1),c=a×u,d=c×u,c和d的夹角是50°,c和v的夹角是55°,d和v的夹角是4。9°,u⊥v,|u|=1,|v|=1求u,v题中的a,b,c,d,u,v均为三维向量,×表示向量内积,|u|表示向量u的模其中,向量b对应你以前的(m,n,p),向量u对应你以前的(h,k,l),向量v对应你以前的(u,v,w)由上题,c=a×u,d=c×u可得c⊥u,d⊥u又u⊥v,且c,d,v有相同的起点即坐标原点,从而c,d,v在同一平面上且有相同的起点,且均与u垂直所以c,d,v之间的夹角必定满足某个等式,回到题上也就是说,55°=50°+5°,进一步说,你给的条件是矛盾的,所以matlab找不到解就算你给出的条件是对的,由于你给出的前三个方程并非完全独立的,也不足以确定你想要的结果

最新回答共有2条回答

  • 舒适的帽子
    回复
    2026-04-08 01:18:25

    你的问题可以化为下面向量的问题已知a=(1,1,1),b=(-1,1,1),c=a×u,d=c×u,c和d的夹角是50°,c和v的夹角是55°,d和v的夹角是4。9°,u⊥v,|u|=1,|v|=1求u,v题中的a,b,c,d,u,v均为三维向量,×表示向量内积,|u|表示向量u的模其中,向量b对应你以前的(m,n,p),向量u对应你以前的(h,k,l),向量v对应你以前的(u,v,w)由上题,c=a×u,d=c×u可得c⊥u,d⊥u又u⊥v,且c,d,v有相同的起点即坐标原点,从而c,d,v在同一平面上且有相同的起点,且均与u垂直所以c,d,v之间的夹角必定满足某个等式,回到题上也就是说,55°=50°+5°,进一步说,你给的条件是矛盾的,所以matlab找不到解就算你给出的条件是对的,由于你给出的前三个方程并非完全独立的,也不足以确定你想要的结果

上一篇 其苹果汁的pH是4,其中c(OH-)为多少 其苹果汁的pH是4,其中c(OH-)为多少

下一篇 19世界中期,推动资本主义市场初步形成的主要原因是英国成为世界工厂吗