声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1951|回复: 7

[综合讨论] 编辑好的:关于用Matlab——ode45解微分方程的问题

[复制链接]
发表于 2008-12-16 13:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
本人初学用matlab解微分方程,现利用ode45来解一简单的方程。望大侠指教一二! :handshake :hug:
function solveyyy
d_1=1; %初始值
data_time=[0,1]; %时间段
Ey=2; %参数
x0=[d_1]; tspan=data_time;
[t,x]=ode45(@yyydot,tspan,x0,[],Ey);
figure; plot(t,x(:,1));
function dy=yyydot(t,y,Ey)
i_1=y(1); dy=[Ey*i_1];

图如下,图一:
1.gif
把初始值改为:d_1=0,图二;
2.gif
问题1:手解dx/dt=2t;,得x=t^2+C,初值t=0,x=1,有C=1,即x=t^2+1,在t=1时,应该有x=2,为何图示确约为7.389 。

对图二,手解得x=t^2,t=1时,x=1;可是为何是一条直线?
问题2:对应图一的程序中时间段改为:data_time=[0:0.1:1];得图三与图一一样,而把时间改为data_time=[0,0.1,1];得图四:
3.gif
把时间改为data_time=[0:0.1:1],用disp(length(x(:,1)));看了下个数为11,而对应data_time=[0,1];的为41;这是为何?

问题三:把时间改为data_time=[0:0.1:1],是因为我期望每0.1间隔求一个值,然后把每0.1求出来的值作为下一时间段的初始值,也就是一段一段求解。如何能把0—1的时间段等分,比如用[0:0.1:1],把每一个求解值代入下一个方程,我尝试写过for循环,把每次的时间段划分,然后把解出来的值赋为初始值,如:开始x0=[i_1], 然后i_1=x(num,1);num为循环个数,且递增。这里就出现了个数的问题,有的时候x(num,1)代表的不是那个值,如在t=0.1求出来的值,求助。

到底ode45具体是怎么运算得?不是一步求一解(知道前一时间点的解,求后一时间)吗?我看得书上这么介绍的。

望大侠指教一二!



[ 本帖最后由 ChaChing 于 2009-2-17 14:36 编辑 ]

评分

1

查看全部评分

回复
分享到:

使用道具 举报

发表于 2008-12-16 16:06 | 显示全部楼层

回复 楼主 changran 的帖子

建议你直接贴上来,这样效果会更好点
 楼主| 发表于 2008-12-16 20:00 | 显示全部楼层
怎麽贴?
望高人指点啊。。。自己顶。。。。


[ 本帖最后由 ChaChing 于 2009-2-17 15:52 编辑 ]
发表于 2008-12-16 21:10 | 显示全部楼层

回复 板凳 changran 的帖子

图片上传方法:
【发表回复】或【发表新主题】—>上传附件,浏览—>选择要上传的图片—>插入—>【发表回复】或【发表话题】
 楼主| 发表于 2008-12-16 23:37 | 显示全部楼层
不知为何图片黑的。。。。
大致看看吧。。。。
 楼主| 发表于 2008-12-17 11:51 | 显示全部楼层
自己顶。。。。真的急需解决。。。
有人清楚吗?回复、短消息都行。。。。。

[ 本帖最后由 ChaChing 于 2009-2-17 15:54 编辑 ]
发表于 2009-2-17 09:36 | 显示全部楼层
我也来看看,谢谢了
发表于 2009-2-17 14:41 | 显示全部楼层
楼主要解的函数输入差太多了!
这麽乱且没系统, 怪不得没人理!

function solveyyy
x0=1;  tspan=[0,1]; Ey=2; [t,x]=ode45(@yyydot,tspan,x0,[],Ey); figure; plot(t,x(:,1));
x0=0;  tspan=[0,1]; Ey=2; [t,x]=ode45(@yyydot,tspan,x0,[],Ey); figure; plot(t,x(:,1));

function dy=yyydot(t,y,Ey)
dy=Ey*t;

[ 本帖最后由 ChaChing 于 2009-2-17 14:44 编辑 ]
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-14 13:40 , Processed in 0.092761 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表