Equations to Matlab code
1 回表示 (過去 30 日間)
古いコメントを表示
hi
I want to convert the two equations below into Matlab code , I wrote the function below for that and I don't know if that is correct or not , specially the integral form ? any help ?
function [VI,Vw]= Modelfun(TL,TR)
dt=0.01; %sampling time
r=0.052;
L=0.306;
M=9;
I=5;
VI=(TL+TR)/ M * r;
VI=VI*dt/2; %first integral
Vw=(L*(TL-TR)) / 2 * r * I;
Vw=Vw*dt/2; %first integral
Vw=Vw*dt/2; %second integral
end
0 件のコメント
採用された回答
Torsten
2014 年 11 月 20 日
It is not possible simply to output (VI,Vw) given (TL,TR).
As input you need (VIold,Vwold,Vwdotold,dt,TL,TR).
The output VI,Vw and Vwdot is then calculated according to
VI=VIold+dt*(TL+TR)/(M*r)
Vw=Vwold+dt*Vwdotold
Vwdot=Vwdotold+dt*L*(TL-TR)/(2*r*I).
This would mean that your function "Modelfun" advances VI and Vw from their values at time t to time t+dt.
Best wishes
Torsten.
0 件のコメント
その他の回答 (2 件)
Torsten
2014 年 11 月 18 日
If the right-hand sides of your equations does not depend on t, the solution to your differential equations is explicitely given by
VI=VI0+(TL+TR)/(M*r)*t
Vw=Vw0+Vw0dot*t+0.5*L*(TL-TR)/(2*r*I)*t^2
where
VI0=VI at time t=0
Vw0=Vw at time t=0
Vw0dot = d/dt(Vw) at time t=0.
Best wishes
Torsten.
参考
カテゴリ
Help Center および File Exchange で Predictive Maintenance Toolbox についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!