问题遇到的现象和发生背景
请问如何用C语言实现四阶系统的欧拉法求解
用代码块功能插入代码,请勿粘贴截图
以下是matlab代码
for n=1:length(t)
Q_e(:,n)=Q_d(:,n)-Q(:,n);
dQ_e(:,n)=dQ_d(:,n)-dQ(:,n);
Int_e=Int_e+Q_e(:,n);
F(:,n)=inv(B)(AdQ(:,n)+ddQ_d(:,n)+kvdQ_e(:,n)+kpQ_e(:,n)+kIInt_e-W);
dQ(:,n+1)=dQ(:,n)+(-AdQ(:,n)+BF(:,n)+W)h ; %q2=dq/dt
Q(:,n+1)=Q(:,n)+dQ(:,n)h ;
end
Qe是偏差,Qd是预期位姿,Q是实际位姿,dQe,dQd,dQ分别是三者的导数,它们都是4n的矩阵,Int_e是41的积分器,F是需要控制的力,A,B是已知44矩阵,KV,KP,KI为常数
我的解答思路和尝试过的方法
matlab里面是通过列运算求解的F(:,n), dQ(:,n+1), Q(:,n+1).但是C语言使用矩阵库函数后好像矩阵只能整体运算,或者用二维数组好像也不行,数组的话是一个元素一个元素运算了,而我需要一列一列地进行运算。不知道各位有没有解决办法。在此万分感谢