用MATLAB数值法求解微分方程的解

求D2y+3*Dy+2*y=0的特解,其中D2y为y对x的二阶导数,Dy为dy/dx,初值y(0)=1,Dy(0)=18。并画出x在[0,10]之间y的曲线。自己根据书上... 求D2y+3*Dy+2*y=0的特解,其中D2y为y对x的二阶导数,Dy为dy/dx,初值y(0)=1,Dy(0)=18。
并画出x在[0,10]之间y的曲线。

自己根据书上的例子做了遍,但图象和求的解析解的图象不一样ORZ
还望高手帮助解答,谢谢!
展开
 我来答
佛同书蛮黛
2019-12-06 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.3万
采纳率:35%
帮助的人:873万
展开全部
先定义个函数:
function
f=fffff(t,y)
f=[y(2);cos(y(1))];
然后
[t,y]=ode45(@fffff,[0,2],[0,0]);
plot(t,y(:,1),'r',t,y(:,2),'b')
即可。我给你设了初值【0,0】,你可以自己定义。红线为y,蓝线为y'.
你先把上面的函数fffff写成m文件,保存到你的matlab工作目录里,然后再在命令窗口输入:
[t,y]=ode45(@fffff,[0,2],[0,0]);
plot(t,y(:,1),'r',t,y(:,2),'b')
我作过,能做出图像的。
我行我素850915
2015-05-14 · TA获得超过8241个赞
知道大有可为答主
回答量:5788
采纳率:77%
帮助的人:1698万
展开全部
y=dsolve('D2y+3*Dy+2*y=0','y(0)=1','Dy(0)=18','x')
%解出y(x)后,再画图
x=sym(0:0.01:10);
y1=20*exp(-x) - 19*exp(-2*x);
plot(x,y1)
更多追问追答
追问
恩这个是解析解的方法,我做出来了,但用数值法怎么解?
追答
把你的数值解法发过来,我给你调试一下
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式