如何把MATLAB的m文件与命令写一起

M文件中:functiony=ill(t,x)a=1;b=0.3;y=[a*x(1)*x(2)-b*x(1),-a*x(1)*x(2)]';命令窗口中:>>[t,x]=o... M文件中:
function y=ill(t,x)
a=1;b=0.3;
y=[a*x(1)*x(2)-b*x(1),-a*x(1)*x(2)]';

命令窗口中:
>> [t,x]=ode45('ill',[0:50],[0.02,0.98]);[t,x]
>> plot(t,x(:,1),t,x(:,2)),grid,pause

请问命令窗口中的语句是什么意思
怎么把命令窗口中的语句写到m文件中
展开
 我来答
yuxiapollo
2014-12-01 · TA获得超过323个赞
知道小有建树答主
回答量:143
采纳率:50%
帮助的人:134万
展开全部
>> [t,x]=ode45('ill',[0:50],[0.02,0.98]);
用ode45(四阶龙格库塔)法求解数值积分的库函数
ill是自定义函数的文件名。[0,50]积分区间,[0.02,0.98]是初始值
[t,x]
显示积分求解出的t值和x值
>> plot(t,x(:,1),t,x(:,2)),grid,pause
画出tx图,加网格,暂停
调用ode45接微分方程是不能写在同一个m文件中的。但是你可以先写函数ill保存为一个m文件,在写调用程序到另一个m文件,两个m文件在同一路径下就行了
dukinkin
2014-12-01 · TA获得超过1.3万个赞
知道大有可为答主
回答量:2444
采纳率:90%
帮助的人:935万
展开全部
用函数m文件是写不到一起的,用匿名函数吧
以下内容写道命令行或者保存在脚本m文件中运行就可以了

a=1;b=0.3;

ill=@(t,x) [a*x(1)*x(2)-b*x(1);-a*x(1)*x(2)]; %这一句代替了原来的函数m文件

[t,x]=ode45(ill,[0:50],[0.02,0.98]);[t,x]
plot(t,x(:,1),t,x(:,2)),grid,pause
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
814021430ZHG
2014-12-01 · 超过19用户采纳过TA的回答
知道答主
回答量:92
采纳率:50%
帮助的人:30.6万
展开全部
命令窗口中能执行的语句和M文件中的是一样的啊,直接写在M文件就OK了,当然你要加上分号!
[t,x]=ode45('ill',[0:50],[0.02,0.98]);-----求解方程
[t,x]------显示数值
plot(t,x(:,1),t,x(:,2)),grid,pause------------画图、加上网格、保持
具体你可以查一下各个函数的用法,希望能帮到你
追问
直接放在一起的话
function y=ill(t,x)
a=1;b=0.3;
y=[a*x(1)*x(2)-b*x(1),-a*x(1)*x(2)]';
[t,x]=ode45('ill',[0:50],[0.02,0.98]);
plot(t,x(:,1),t,x(:,2))

这样出错:
>> ill
错误使用 ill (line 3)
输入参数的数目不足。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式