如何解决一个微分方程系统,其中一个微分是另一个的一部分?

时间:2019-08-20 15:04:32

标签: matlab ode differential-equations

我需要解决这个微分方程组。

我通过从rk(3)等式中删除rk(2)进行了测试,在这种情况下,我确实得到了一些解决方案。该代码运行没有错误。但是,当我将rk(3)保留在rk(2)公式中时,会遇到很多错误。

function rk = odes(t,y)

sigma1=sqrt(10e5);
sigma2=0.1;
sigma0=10e5;
m=1;k=2;vb=0.1;mis=0.15;mik=0.1;g=9.81;Fn=m*g;Fs=mis*Fn;Fc=mik*Fn;vs=0.001


rk(1)=y(2);
rk(2)=1/m*(sigma1*rk(3)+sigma0*y(3)+sigma2*vb-y(2)*(k+sigma2));
rk(3)=(vb-y(2))-((sigma0*(vb-y(2)))/(Fc+(Fs-Fc)*exp(-((vb-y(2)/vs)^2))));
rk=rk(:);

end
clc
close all
clear all


timerange=[0 20]
IC=[0.1;0;0.1]
[t,y]=ode45(@(t,y) odes(t,y),timerange,IC)

figure
plot(t,y(:,1));

errors

0 个答案:

没有答案