


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MATLAB入门(第五季)继续说说matlab知识。 1.matlab的函数 答:Matlab有很多函数供我们使用,比如plot, subplot, fft,abs等。这些函数就像C语言中的函数库一样,使用时只需要在fileset path中设定一下搜索路径就可以了。但是我们要定义自己的函数怎么办? 本专题就专门讲matlab函数定义。matlab函数必须由function关键词来定义。方式如下: function x,y,z=myexample(N,xn) a=log2(n); if round(a)=a return ;end y=ones(1,N);x=1;z=0.5*x(n)for di=0:Nx=x+di;end上面例子中function是关键词,必须用在文件的最开头一行,也就是函数文件在function之前不能有其他语句,像下面就是不可以的: clear; a=21; function x=ex2 s=1; for di=0:10 s=s+di; end b=2 红字部分是我们期望在执行程序时定义函数,这样是不可以的。函数只能单独定义。 函数可以返回多个值。从上面定义可以看出,函数返回值有x,y,z,类型不用定义。这一点和C语言只能返回一个值是不同的。另外,返回值可能改变变量的类型。看下面例子: x1=zeros(100,100); y1=1; z1=ones(3,5); xn=0:1:15; x1,y1,z1=myexample(11,xn); 如果上面myexample函数就是这样的话,则x1变成1*1的矩阵,也就是一个数。y1变成1*11的行向量,z1由原来的3*5变成1*16的一维向量。这一点其实和函数关系不大,变量的赋值都可以改变原来变量的维数。 函数名同变量命名规则。上面myexample只是一个例子,实际上可以起任意名字。注意,尽量不要起和matlab系统已有的名字相同的,比如你也起个名叫sin,不是不可以用,但是有可能造成系统真正的sin函数在你的程序中失效了,原因就是搜索规则,可能先搜到你的函数,就不去找系统定义的sin函数了! 参数随意,没有参数,可以不要括号。myexample中有连个参数,但是如下的函数也是可以的:function x=ex2 s=1; for di=0:10 s=s+di; end 函数不使用workspace中的变量,也不放局部变量到workspace中。为了减少耦合,函数规定使用自己空间里的变量,当进入函数中执行时,系统会创建一个局部的空间存放局部变量,也不参考外部的变量。以上面的myexample函数来说,a和di 都是局部变量,大家可以尝试一下,当函数执行完毕后,workspace中是否有局部变量的影子。 函数没有明显的结尾。上面myexample就是一个完整的函数程序。不像C语言,函数有明显的标记,matlab中函数要么由下一个function结束,要么由return 退出,要么是文件自然结束。例: function a=func1 sum=0;for di=0:10 sum=sum+di; end a=1; b=func3(sum); a=b; b=b+1; function x=func2 a=1:2:9; y=sin(2*pi*a); plot(a,y) return function an1=func3(sub) func2; sub=sub+1; 上面给出同一个文件中的3个函数的例子,其中第一个函数称为主函数,主函数由function结束,fun2函数由return 结束,func3是文件自然结束。 同一个文件可以定义多个函数。上面已经显示出这样的例子,func2,func3称为子函数,可以在一个文件中定义多个子函数,但是只有第一个函数对外部可见,也就是可以被脚本程序和其他文件中的函数调用,这里的主函数就是func1。上面例子还可以看出,同一个文件的子函数之间也是可以互相调用的! 文件名最好同函数名。上面myexample函数所在的文件保存的时候系统一般会提示myexample.m.这个时候大家不要用以往的脚本文件的经验了,那时候可以随便命名。现在最好就用这个名字命名。因为在脚本程序中,系统执行时发现了这个符号,首先去workspace中找,一般是找不到的,然后就直接找该名字对应的文件,进而找到函数。如果我们改过名字,容易造成不对应的情况。 函数一般需要脚本或其他函数来调用。我们写好一个程序后,特别喜欢用菜单run执行。如果这个程序是函数,因为函数需要参数,而run菜单不能给函数传递合适的参数,所以会
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新生儿泪囊炎健康宣教
- 零食行业报告
- 同城直播项目方案咨询
- 升学指导及咨询方案
- 营养素失衡与环境污染的前沿探索-第1篇-洞察及研究
- 学生餐具消毒安全培训课件
- 虚实夹杂证辨治-洞察及研究
- 嘉积中学 2025- 2026学年度第一学期第一次大测高三物理科参考答案及评分标准
- 低碳运营模式探索-洞察及研究
- 广东省部分学校2025-2026学年高三上学期9月联考历史试卷(含答案)
- 《小学教师专业发展》课件-第二章 教师是如何发展的
- 心内科患者饮食护理要点
- 商业保洁服务合同协议书
- 解除市场经营协议书
- 育苗协议书范本
- 《高钠血症的护理》课件
- 厨余垃圾收转运及资源化处理项目可行性研究报告(模板范文)
- 《寻找消失的分数》期中考试分析班会课件
- 摩擦纳米发电机优化论文
- 2024年度浙江省选调生《行测》考试真题及答案
- 2025年上半年金华义乌市经信委招考易考易错模拟试题(共500题)试卷后附参考答案
评论
0/150
提交评论