武汉大学《MATLAB基础与应用》课件-第2-3章matlab程序设计.pptxVIP

武汉大学《MATLAB基础与应用》课件-第2-3章matlab程序设计.pptx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章 Matlab程序设计一、自定义函数1. 匿名函数格式:函数句柄= @(自变量列表)函数表达式,并计算f(x)例2.1 定义函数在点x=-2,1,2.5,3,5.2的值。f=@(x)x.^2+3*x+5x=[-2,1,2.5,3,5.2y]1 =y1=f(x)3.00 9.00 18.75 23.00 47.64武汉大学《MATLAB基础与应用》例2.2 定义函数g=@(x,y)sin(x.^2+3*y) y=g(3,2),并计算g(3,2)y = 0.6503例2.3 定义复合函数并计算函数z在(x,y)=(2,1),(3,2),(4,1),(4,3)处的u=@(x,y)x./y v=@(x,y)3*x-2*yf=@(x,y)u(x,y).^2.*log(v(x,y))x=[2,3,4,4]y=[1,2,1,3]z=f(x,y)z =5.5452 3.6212 36.8414 3.18542. m-文件函数在matlab界面上先点击新建文件按钮,进入窗口Editor-Untitled,按如下格式建立函数并保存。格式:function [y1,y2]=ff(x1,x2)…… y1=… y2=…输入变量:x1,x2,输出变量:y1,y2注:输入、输出变量可以为1个或多个。例2.4 建立函数文件,实现对矩阵x的非零元素取倒数,零元素不变,然后调用该函数。(在窗口Editor-Untitled写入) function y=fun204(a)y=spfun(@(x)1./x,a); (保存)(在窗口Command-Window写入)a=[0,0,2;3,0,1;4,0,0]b=fun204(a) c=full(b)c =000.50000.333301.00000.250000二、m-文件的建立(程序设计)编辑m-文件:在窗口Editor-Untitled按要求编辑程序,输完程序后保存,在对话框中输入文件名.运行m-文件:在窗口Editor-Untitled单击Debug →run,或按F5键。或在窗口Command-Window输入文件名并回车。三、 流程控制语句(一)分支结构1. if条件语句 if 表达式执行语句 endif 表达式1执行语句1elseif 表达式2执行语句2else执行语句3 endif 表达式执行语句1 else执行语句2 end例2.5 定义函数并计算f(x)在x=-5,-3,-1.5,-1,0.5,1,2处的值function y=ff(x) if x-2y=x.^2-2; elseif x0y=x.^2.*exp(x); elsey=log(x+10); endx=[-5,-3,-1.5,-1,0.5,1,2]y=ff(x)y =1.60941.94592.14012.19722.35142.39792.48492. switch 分值选择语句 switch表达式case 常量表达式1语句块1case 常量表达式2语句块2……case 常量表达式n语句块notherwise语句块n+1end例2.6 定义函数,对数组x做如下处理:记数组x所有元素和为s, function [m,y]=ff(x)(1)若s除以5余数为1, s=sum(x)求出x中所有奇数的和。m=mod(s,5)(2)若s除以5余数为2,求出x中所有偶数的和。 switch mcase 1t=mod(x,2); y=sum(t.*x); case 2t=1-mod(x,2); y=sum(t.*x); otherwisey=max(x)-min(x);end(3)其余情况求出x中最大值与最小值的差。x=[2,-4,3,6,7,11][m,y]=ff(x)m = 0y = 15(二)循环结构1. for 循环语句for 变量=数组执行语句1……执行语句n end若数组为行向量,依次取数组元素执行循环体。若数组为矩阵,依次取矩阵的列执行循环体。例2.7 随机生成15个0~99的整数构成数组x,并构造下列数组:(1)将数组x的第偶数个元素平方,其余元素不变。 (2)将数组x的第偶数个元素平方,其余元素置0。 x=floor(rand(1,15)*100);y1=x; y2=zeros(1,15); for i=2:2:14y1(i)=x(i)^2;y2(i)=x(i)^2; end[x;y1;y2]例2.8数组x=(8,3,5,-1,6,10,7,2,9,11),求出其中所有以5余1的元素之和以及所有除以5余4的元素之和.x=[8,3,5,-1,6,10,7,2,9,11];不用循环完成s1=0; s2=0;for m=xswitch mod(m,5) case 1 s1=s1+m;case 4 s2=s2+m; endend s1,s

文档评论(0)

158****0159 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档