Normalisation inside ODE function

3 次查看(过去 30 天)
IISc
IISc 2014-8-19
Dear All,
I have a issue descibed as follows
The following are the Euler integration equations in the original code inside a while loop
Var1 = Var1 + dVar1 * delt;
Var2 = Var2 + dVar2 * delt;
Vau3 = Var3 + dVar3 * delt;
Var4 = Var4 + dVar4 * delt;
tnor = sqrt(Var1*Var1 + Var2*Var2 + Vau3*Var3 + Var4*Var4);
Var1 = Var1 / tnor;
Var2 = Var2 / tnor;
Vau3 = Var3 / tnor;
Var4 = Var4 / tnor;
Iam reqriting using ODE method based code (in built matlab function). There seems to be issue the way normalisation of Var1, Var2, Var3, Var4 is to be done. If i do not do the normalisation the two codes match. (of the course the results will not be correct. The variables need to be normalised before next step of integration).
How should i implement the above last five lines so that when the solver evaluates the function in the next iteration it uses the normalised value for Var1, Var2, Var3 & Var4. Currently in ODEFUN i was doing this in beginning by writing
tnor = Y(1 )+ Y(2) + Y(3) + Y(4)
Y(1) = Y(1)/tnor
Y(2) = Y(2)/tnor
Y(3) = Y(3)/tnor
Y(4) = Y(4)/tnor
This does not work.
Regards,
Tarun Uppal

回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Ordinary Differential Equations 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by