MATLAB入门(第五季)

MATLAB入门(第五季)

ID:37859961

大小:38.00 KB

页数:3页

时间:2019-06-01

MATLAB入门(第五季)_第1页
MATLAB入门(第五季)_第2页
MATLAB入门(第五季)_第3页
资源描述:

《MATLAB入门(第五季)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、MATLAB入门(第五季)继续说说matlab知识。1.matlab的函数答:Matlab有很多函数供我们使用,比如plot,subplot,fft,abs等。这些函数就像C语言中的函数库一样,使用时只需要在fileàsetpath中设定一下搜索路径就可以了。但是我们要定义自己的函数怎么办?本专题就专门讲matlab函数定义。matlab函数必须由function关键词来定义。方式如下:function[x,y,z]=myexample(N,xn)a=log2(n);ifround(a)~=areturn;end

2、y=ones(1,N);x=1;z=0.5*x(n)fordi=0:Nx=x+di;end上面例子中function是关键词,必须用在文件的最开头一行,也就是函数文件在function之前不能有其他语句,像下面就是不可以的:clear;a=21;functionx=ex2s=1;fordi=0:10s=s+di;endb=2红字部分是我们期望在执行程序时定义函数,这样是不可以的。函数只能单独定义。函数可以返回多个值。从上面定义可以看出,函数返回值有x,y,z,类型不用定义。这一点和C语言只能返回一个值是不同的。另

3、外,返回值可能改变变量的类型。看下面例子: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系统已

4、有的名字相同的,比如你也起个名叫sin,不是不可以用,但是有可能造成系统真正的sin函数在你的程序中失效了,原因就是搜索规则,可能先搜到你的函数,就不去找系统定义的sin函数了!参数随意,没有参数,可以不要括号。myexample中有连个参数,但是如下的函数也是可以的:functionx=ex2s=1;fordi=0:10s=s+di;end函数不使用workspace中的变量,也不放局部变量到workspace中。为了减少耦合,函数规定使用自己空间里的变量,当进入函数中执行时,系统会创建一个局部的空间存放局部变

5、量,也不参考外部的变量。以上面的myexample函数来说,a和di都是局部变量,大家可以尝试一下,当函数执行完毕后,workspace中是否有局部变量的影子。函数没有明显的结尾。上面myexample就是一个完整的函数程序。不像C语言,函数有明显的{}标记,matlab中函数要么由下一个function结束,要么由return退出,要么是文件自然结束。例:functiona=func1sum=0;fordi=0:10sum=sum+di;enda=1;b=func3(sum);a=b;b=b+1;functio

6、nx=func2a=1:2:9;y=sin(2*pi*a);plot(a,y)returnfunctionan1=func3(sub)func2;sub=sub+1;上面给出同一个文件中的3个函数的例子,其中第一个函数称为主函数,主函数由function结束,fun2函数由return结束,func3是文件自然结束。同一个文件可以定义多个函数。上面已经显示出这样的例子,func2,func3称为子函数,可以在一个文件中定义多个子函数,但是只有第一个函数对外部可见,也就是可以被脚本程序和其他文件中的函数调用,这里的

7、主函数就是func1。上面例子还可以看出,同一个文件的子函数之间也是可以互相调用的!文件名最好同函数名。上面myexample函数所在的文件保存的时候系统一般会提示myexample.m.这个时候大家不要用以往的脚本文件的经验了,那时候可以随便命名。现在最好就用这个名字命名。因为在脚本程序中,系统执行时发现了这个符号,首先去workspace中找,一般是找不到的,然后就直接找该名字对应的文件,进而找到函数。如果我们改过名字,容易造成不对应的情况。函数一般需要脚本或其他函数来调用。我们写好一个程序后,特别喜欢用菜单

8、run执行。如果这个程序是函数,因为函数需要参数,而run菜单不能给函数传递合适的参数,所以会出错。上面func1已经给出例子了!如果要使用myexample,则例子如下:clear;a=1b=2;c=3;xn=1:0.1:10;[a,b,c]=myexample(length(xn),xn);

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。