24小时热门版块排行榜    

查看: 354  |  回复: 5
当前主题已经存档。

monitor2885

至尊木虫 (职业作家)

队长

[交流] 【求助】修改ode45程序

一个程序超过最大容量matlab java.lang.OutOfMemoryError ,不要改变matlab自身的memory,程序本身的时间范围和步长也不要更改。
请问,怎么修改程序?谢谢!!!

function testplot
t=0:0.001:50000;
[t,y]=ode45(@ivpodefun,t,[0 2]);
plot(t,y(:,1));hold on
plot(t,y(:,2));hold on

function dydt=ivpodefun(t,y)
dydt=zeros(2,1);
dydt(1)=y(2);
dydt(2)=2*(1-y(1)^2)*y(2)-y(1);


??? Out of memory. Type HELP MEMORY for your options.

Error in ==> testplot at 2
t=0:0.001:50000;

[ Last edited by monitor2885 on 2010-1-29 at 23:11 ]
回复此楼

» 猜你喜欢

Retirement
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

change0618

铁杆木虫 (著名写手)

方丈大师


sunxiao(金币+1):谢谢参与,欢迎常来 2010-02-01 08:12
monitor2885(金币+1): 2010-02-02 10:45
为什么要把步长搞得那么小?非要这样吗?一定要这样吗?

那就采取多区间求解吧,把上区间的终值作为下一区间的初值。
2楼2010-01-29 21:36:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

monitor2885

至尊木虫 (职业作家)

队长

引用回帖:
Originally posted by change0618 at 2010-01-29 21:36:08:
为什么要把步长搞得那么小?非要这样吗?一定要这样吗?

那就采取多区间求解吧,把上区间的终值作为下一区间的初值。

我是举一个例子来询问当matlab程序内部的某个变量超过memory之后,应该如何让程序正常运行。程序本身的时间范围和步长不要更改。
Retirement
3楼2010-01-29 22:04:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

change0618

铁杆木虫 (著名写手)

方丈大师

monitor2885(金币+1): 2010-02-02 10:44
好,祝你成功
4楼2010-01-30 19:48:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

monitor2885

至尊木虫 (职业作家)

队长

引用回帖:
Originally posted by change0618 at 2010-01-30 19:48:11:
好,祝你成功

帮我改改呀
Retirement
5楼2010-01-30 21:21:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

change0618

铁杆木虫 (著名写手)

方丈大师


小木虫(金币+0.5):给个红包,谢谢回帖交流
试过了,无能为力
6楼2010-02-05 22:17:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 monitor2885 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见