1 MATLAB常微分方程求解

1 找函数的解析解

1.1使用desolve函数,求解一阶微分方程

y1=dsolve('Dy==5'); 
y2=dsolve('Dy==x','x'); 
[y5,y6]=dsolve('Dx==y+x','Dy==2*x'); 
[y7,y8]=dsolve('Dx==y+x','Dy==2*x','x(0)==0','y(0)==1') ;
y9=dsolve('Dy==-2*y+2*x^2+2*x','y(0)==1','x') ;

%引号里的字符串都可以直接用变量代替
eqn10='Dy = y*x';
y10=dsolve(eqn10,'y(1)=1','x');

%画图方法
y10;
x = linspace(0,1,20);
z = eval(vectorize(y10));
plot(x,z)

结果

y1 = C1 + 5*t 
y2 = x^2/2 + C2
y5 = C8*exp(2*t) - (C7*exp(-t))/2
y6 = C7*exp(-t) + C8*exp(2*t)
y7 = exp(2*t)/3 - exp(-t)/3 
y8 = (2*exp(-t))/3 + exp(2*t)/3 
y9 = exp(-2*x) + x^2 
y10 = exp(-1/2)*exp(x^2/2)

1.2使用desolve函数,求解二阶微分方程

eqn = 'D2y + 8*Dy + 2*y = cos(x)'; %D2y表示y''   Dy表示y'
inits = 'y(0) = 0,Dy(0) = 1';
y = dsolve(eqn,inits,'x'); 
x = linspace(0,10,300);
z = eval(vectorize(y)); 
plot(x,z);

结果

y = (14^(1/2)*exp(4*x - 14^(1/2)*x)*exp(x*(14^(1/2) - 4))*(sin(x) - cos(x)*(14^(1/2) - 4)))/(28*((14^(1/2) - 4)^2 + 1)) - (14^(1/2)*exp(4*x + 14^(1/2)*x)*exp(-x*(14^(1/2) + 4))*(sin(x) + cos(x)*(14^(1/2) + 4)))/(28*((14^(1/2) + 4)^2 + 1)) - (14^(1/2)*exp(-x*(14^(1/2) + 4))*(7*14^(1/2) + 27))/(28*(8*14^(1/2) + 31)) - (14^(1/2)*exp(x*(14^(1/2) - 4))*(393*14^(1/2) + 1531))/(28*(8*14^(1/2) - 31)*(8*14^(1/2) + 31)^2)

图像

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

洛阳八中我最棒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值