- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章 MATLAB程序的设计基础
信控学院电子教研室 mashang21cn@ 第二章 MATLAB程序设计基础 feval用于执行字符串代表的文件或函数 例: fun=[‘sin’;’cos’;’log’]; k=input(‘choose function number:’) x=input(‘enter value:’); feval((fun(k,:),x) 例: for I=1:10 eval([‘p’,int2str(I),’=I.^2’]) end 二、命令函数的重载 load tt.dat help magic type rank 与 load(‘tt.dat’) help(‘magic’) type(‘rank’) 完全一样 * * matlab的工作方式:交互式;M文件方式。 M文件的作用:在command window中输入已编辑保存的M文件名或函数,则自动搜索该文件,找到则按规定的计算任务以解释的方式逐一执行语句。 2.1 M文件的创建 创建M文件 2.2非函数文件(命令文件) 一般来说,命令文件用于把很多需要在命令窗口输入的命令放在一起,以便于修改; 由于命令文件没有输入和输出参数,只是一些命令行的组合,所以命令文件比函数文件更简单。命令文件可对工作空间中的变量进行操作,也可生成新的变量。即使命令文件运行结束,其运行过程中所产生的变量仍保留在工作空间中,直到关闭matlab或用相关删除命令。 例: x=0:pi/100:2*pi; y1=cos(x); y2=sin(x); plot(y1,y2); end 2.3函数文件 一、函数文件的格式 函数文件一般用于把许多重复的程序段封装起来,使程序更加简洁。 例: function y=mymean(x); %该程序用于计算矢量中元素的平均值 %x为输入参数,代表输入的矢量 %y为输出参数,代表矢量中元素的平均值 %如果输入不是向量,则返回错误信息 [m,n]=size(x); %判断输入是否为矢量 if(~((m==1)|(n==1)|(m==1n==1))) %如果输入不是矢量,显示出错信息 error(输入x必须是向量); end y=sum(x)/length(x); 1、函数定义 function y=ymean(x) function [y1,y2,…]=FN(x1,x2,…) 2、帮助文本 3、函数体 2、注释 二、函数文件参数个数的检查 nargin nargout确定函数被调用时,输入、输出参数的个数,函数体中可以根据输入参数个数的不同而执行不同的操作。 注意:可以用任何编辑器编写m文件 当编写函数文件时,其文件名必须与函数名一致 例: function c=testarg(a,b) if(nargin= =1) c=a.^2; elseif(nargin= =2) c=a+b; end 例:用命令文件和函数文件完成相同的任务:求所有小于2000且为2的整数次幂的正整数。 A:用命令文件的方式 %求小于2000且为2的整数次幂的正整数 f(1)=2; k=1; while f(k)1000 f(k+1)=f(k)*2; k=k+1; end f,k B、用函数文件的方式实现 function f=tt(n) %求小于任何正整数且为2的整数次幂的正整数 %c=tt(n),n可取任意正整数 f(1)=2; k=1; while f(k)n/2 f(k+1)=f(k)*2; k=k+1; end f 2.4、全局变量和局部变量 一、什么是全局与局部变量? 二、全局变量的定义 global BEG END Example:function s=mean1 global k=BEG:END; s=sum(k) 调用如下: global BEG END; BEG=1;END=10; S1=mean1; 例: funciton all=weight_add(x,y) %add two variable with different weight. global alpha beta all=alpha*x+beta*y; 在命令窗口内键入: global alpha beta alpha=1 beta=2 all=weight_add(1,1); 2.5程序控制流程语句 一、循环控制 1、for循环 调用格式: for t=表达式1:表达式2:表达式3 循环体 end 注意:1)步长可正可负 2)内部允许嵌套,for与end必须配对 3)在循
文档评论(0)