- 1、本文档共42页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
matlab讲稿 第四讲
MATLAB应用 第四章 MATLAB程序设计技术 4.1 MATLAB程序设计初步 4.2 流程控制 4.3 用户参数交互输入 4.4 程序设计技术 4.5 MATLAB程序调试技术 4.1 MATLAB程序设计初步 一、脚本文件和函数文件 将MATLAB命令窗口中一行一行输入的命令汇集在一个文件中,这样一来要输入这一组命令时,只需输入这一文件名。这种文件称为MATLAB的脚本文件,其文件扩展名为.m 。 另一类非常重要的M文件是MATLAB函数文件,它由五部分构成 函数定义行 H1行 函数帮助文本 函数体 注释 4.1 MATLAB程序设计初步(续) 脚本文件(stat1.m): % 求阵列x的平均值和标准差 % [m,n]=size(x); if m==1 m=n; end s1=sum(x); s2=sum(x.^2); mean1=s1/m; stdev=sqrt(s2/m-mean1.^2); 4.1 MATLAB程序设计初步(续) 函数文件(stat2.m): function [mean1,stdev]=stat2(x) %函数定义行 % 求阵列x的平均值和标准差 %H1 行 % 调用格式为 | % [mean,stdev]=stat2(x) | 函数帮助文本 [m,n]=size(x); %以下为函数体,其中可包含注释 if m==1 m=n; end s1=sum(x); s2=sum(x.^2); mean1=s1/m; stdev=sqrt(s2/m-mean1.^2); 4.1 MATLAB程序设计初步(续) 二、函数工作空间 对以上的脚本文件stat1.m和函数文件stat2.m, 分别执行后, 发现执行stat1.m时, 产生了所有由stat1.m产生的变量, 而执行stat2.m则只产生函数返回的结果变量, 其它由函数文件产生的变量只存在于特定的函数工作空间中。 这样,利用MATLAB函数设计程序时,只需考虑由函数返回的结果变量,方便设计人员;但同时也给调试程序带来了不便,幸好MATLAB给程序设计提供了专用的调试器。 4.1 MATLAB程序设计初步(续) 在每个函数工作空间中,可能有三类变量: 输入/输出变量,与上一级函数或主程序交换数据; 在函数内临时产生的变量(称局部变量); 由调用函数、主程序或其它函数定义的全局变量。 全局变量应用global定义,例如: global alpha,beta,x,y 4.1 MATLAB程序设计初步(续) 三、子函数 在一个函数文件中,可包含多个函数,其中第一个函数名应与文件名同名,其余函数统称为这一函数的子函数,它们只能在这一函数内部才能使用。 例如: 4.1 MATLAB程序设计初步(续) function [avg,med] = mmval(u) %主函数 % Find mean and median with internal functions. n = length(u); avg = mean(u,n); med = median(u,n); function a = mean(v,n) %子函数 % Calculate average. a = sum(v)/n; function m = median(v,n) %子函数 % Calculate median. w = sort(v); if rem(n,2) == 1 m = w((n+1)/2); else m = (w(n/2)+w(n/2+1))/2; end 4.2流程控制 流程控制语句可改变程序执行的流程,MATLAB有四类流程控制语句: if,else,elseif,end 条件转移语句; switch,case,otherwise,end 情况切换语句; for,end 指定次重复的循环语句; while,end 不定次重复的循环语句。 这些语句给MATLAB程序设计带来了极大的方便,也给设计带来了灵活性。 4.2流程控制(续) 一、条件语句 常用的格式为: if a0 disp(‘a为负数’) elseif a0 disp(‘a为正数’) else disp(‘a为零’) end 可根据a的不同取值, 进行不同的处理。 If语句还可以嵌套使用。
文档评论(0)