声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1910|回复: 5

[编程技巧] 问:错误代码的解决方法

[复制链接]
发表于 2009-8-4 22:35 | 显示全部楼层 |阅读模式

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

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

x
新手
在M文件中程序如下:
function ff=nc(x,y,flag,pr)
ff=[y(2);y(3);-3*y(1)*y(3)+2*y(2)^2-y(4);y(5);-3*pr*y(1)*y(5)];
y0=[0 0 0.68 1 -0.5];
pr=0.7;
[eta ff]=ode45('nc',[0 20],y0,[],pr);
plot(eta,ff(:,1))

命令窗口中显示错误提示:
??? Maximum recursion limit of 500 reached. Use set(0,'RecursionLimit',N)
to change the limit.  Be aware that exceeding your available stack space can
crash MATLAB and/or your computer.
Error in ==> D:\matlab\toolbox\symbolic\@sym\sym.m (trim)
On line 577  ==> s=fliplr(deblank(fliplr(deblank(s))));
??? Input argument 'y' is undefined.
Error in ==> D:\matlab\work\nc.m
On line 2  ==> ff=[y(2);y(3);-3*y(1)*y(3)+2*y(2)^2-y(4);y(5);-3*pr*y(1)*y(5)];
该怎么解决?
其中,Input argument 'y' is undefined.这句提示在运行其他程序时也总是出现。
matlab版本是6.5
回复
分享到:

使用道具 举报

发表于 2009-8-5 10:38 | 显示全部楼层
Maximum recursion limit of 500 reached. Use set(0,'RecursionLimit',N)
to change the limit.  Be aware that exceeding your available stack space can
crash MATLAB and/or your computer.

这个问题可能是由于方程刚性很大造成的,试试ode15s求解器。
 楼主| 发表于 2009-8-5 10:48 | 显示全部楼层
这个程序是教程上的例子,有程序有图,有没有其他的原因呢?

另外,Input argument 'y' is undefined,这个错误遇到的最多。
论坛里做分岔、混沌分析的源程序也是出这个错,运行不了,请指教。。。
发表于 2009-8-5 11:11 | 显示全部楼层
估计LZ的函数使用有问题, 请自行看下function的帮助文献!
LZ有将下列另存一档吗?
function ff=nc(x,y,flag,pr)
ff=[y(2);y(3);-3*y(1)*y(3)+2*y(2)^2-y(4);y(5);-3*pr*y(1)*y(5)];

图是这样吗!

[ 本帖最后由 ChaChing 于 2009-8-5 11:21 编辑 ]
zzz.jpg

评分

1

查看全部评分

 楼主| 发表于 2009-8-6 15:08 | 显示全部楼层
问题解决了,多谢
发表于 2011-7-8 11:44 | 显示全部楼层
Maximum recursion limit of 500 reached. Use set(0,'RecursionLimit',N)
to change the limit.
这个问题你是怎么解决的?能告诉我吗?如果可以请发 到32415684@qq.com,或直接加我qq联系,谢谢!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-18 04:51 , Processed in 0.086048 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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