matlab出现错误

运行后提示错误:???Inputargument"x"isundefined.Errorin==>illat3y=[a*x(1)*x(2)-b*x(1),-a*x(1)*... 运行后提示错误:??? Input argument "x" is undefined.
Error in ==> ill at 3
y=[a*x(1)*x(2)-b*x(1),-a*x(1)*x(2)];
??? Input argument "x" is undefined.

附录程序:
function y=ill(t,x)
a=1;b=0.3;
y=[a*x(1)*x(2)-b*x(1),-a*x(1)*x(2)];
ts=0:50;
x0=[0.02,0.98];
[t,x]=ode45('ill',ts,x0);[t,x]
plot(t,x(:,1),t,x(:,2)),grid,pause
plot(x(:,2),x(:,1)),grid
哪里错了,抓紧啊
展开
 我来答
dukinkin
推荐于2016-04-14 · TA获得超过1.3万个赞
知道大有可为答主
回答量:2444
采纳率:90%
帮助的人:894万
展开全部

你要把内容

function y=ill(t,x)

a=1;b=0.3;

y=[a*x(1)*x(2)-b*x(1);-a*x(1)*x(2)];


保存为ill.m的文件,保存在当前工作的目录下

注意y要是列向量,中间用;不是,


然后运行后面的代码

ts=0:50;

x0=[0.02,0.98];

[t,x]=ode45('ill',ts,x0);[t,x]

plot(t,x(:,1),t,x(:,2)),grid,pause

plot(x(:,2),x(:,1)),grid





或者用匿名函数的办法会简单点,不用保存m文件

a=1;b=0.3;

ill=@(t,x) [a*x(1)*x(2)-b*x(1);-a*x(1)*x(2)];

ts=0:50;

x0=[0.02,0.98];

[t,x]=ode45(ill,ts,x0);

subplot(211),

plot(t,x(:,1),t,x(:,2)),grid on

subplot(212),

plot(x(:,2),x(:,1)),grid on


这是结果

fptan
2014-08-11 · TA获得超过984个赞
知道大有可为答主
回答量:1150
采纳率:100%
帮助的人:706万
展开全部
你怎么运行的呀,你没给输入参数t和x吧?

function y=ill(xx) % t,没用到
if nargin<1
xx=[0;0]; % 自己修改吧
end
a=1;b=0.3;
y=[a*xx(1)*xx(2)-b*xx(1),-a*xx(1)*xx(2)];
ts=0:50;
x0=[0.02,0.98];
[t,x]=ode45('ill',ts,x0);[t,x]
plot(t,x(:,1),t,x(:,2)),grid,pause
plot(x(:,2),x(:,1)),grid
追问
这是画图,不需要输入t和x的
追答
那你:y=ill(t,x)中的t,x干吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
么厚02d
2014-08-11 · 超过65用户采纳过TA的回答
知道答主
回答量:121
采纳率:33%
帮助的人:124万
展开全部
可能是matlab的toolbox读取问题,你试试下面两种方法:
1、在命令窗口输入 rehash toolboxcache

2、在matlab菜单栏找到 File-> Preferences, 点击General选项,在Toolbox path caching那里点击Update toolbox path Cache
这样可以么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式