注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Puriney's Notes

Puriney=purine+Y, my Wonderland

 
 
 

日志

 
 

【Daily-M】【跟女友大人一起学matlab】新建script和新建function  

2012-09-25 20:24:31|  分类: matlab |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
今天本人小试了一把matlab,尝试按照help文档这么模拟:

function dy = rigid(t,y)
dy = zeros(3,1); % a column vector
dy(1) = y(2) * y(3);
dy(2) = -y(1) * y(3);
dy(3) = -0.51 * y(1) * y(2);
options = odeset('RelTol',1e-4,'AbsTol',[1e-4 1e-4 1e-5]);
[T,Y] = ode45(@rigid,[0 12],[0 1 1],options);
plot(T,Y(:,1),'-',T,Y(:,2),'-.',T,Y(:,3),'.')

New -> Script之后存为xx.m文件。点击Run之后报错:

Error: Function definitions are not permitted in this context.

开启google模式后,如这位仁兄解释的:

You need to understand the difference between M-script and M-function. %要区分M脚本和M函数的区别

If the first line of your .m file is a function definition like you have in the code. This .m file is a M-function. %如果.m文件第一行语法是函数(function),正如本diao的这行代码,则这个.m文件是M-function(M-函数)。

If the first line of your .m file is not a function definition, but other M command or M code, the .m file is called M-script. %相对应,如果没有函数语法,则这些都只是M命令行,记录这一系列的M命令行的文件就是一个M脚本

You can not have M-function definition in M-script. That is the error message tries to tell you. %因为在M脚本里没有M函数定义,所以才会报错。

You can save the two functions you have in two .m file and then write a script to call the function. % 解决的办法则是,可以建立一个M脚本,去调用那些M函数。

同人不同命,同后缀为.m的文件也不同使命。

== end &&reference
== 话外音
从来没有仔细折腾过matlab的我,因为女友大人在上Bio-engineering类的课程,跟着一起折腾这一款我自认为是高帅富才用的起的收费软件。相比之是diaosi级别的则是R语言,不禁想到这句名言:

跑程序为缩短时间,高帅富刷硬件、diaosi刷算法——乔布斯

(开玩笑的啦~~~)

  评论这张
 
阅读(1346)| 评论(1)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017