第7周小课Matlab程序设计

上传人:伴*** 文档编号:243804386 上传时间:2024-09-30 格式:PPT 页数:32 大小:632KB
返回 下载 相关 举报
第7周小课Matlab程序设计_第1页
第1页 / 共32页
第7周小课Matlab程序设计_第2页
第2页 / 共32页
第7周小课Matlab程序设计_第3页
第3页 / 共32页
点击查看更多>>
资源描述
,Digital Signal Processing,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,/32,教学内容,Matlab,程序设计,Digital Signal Processing,教学要求,熟悉,Matlab,的基本编程方法,熟练掌握,Matlab,语言,M,文件,程序控制的三种基本结构,Digital Signal Processing,Matlab,程序设计,在欧美各,高等学校,,,Matlab,成为线性代数、自动控制理论、数字信号处理、时间序列分析、动态系统仿真、图像处理等诸多课程的基本教学工具,成为,学生必须掌握的基本技能。,在,设计研究单位和工业部门,,,Matlab,已被广泛地用于研究和,解决各种具体的工程问题,。,可以预见,,Matlab,将在我国科学研究和工程应用中发挥越来越大的作用。,Digital Signal Processing,Matlab,程序设计,交互式命令执行方式(命令窗口),逐条输入,逐条执行,操作简单、直观,但速度慢,执行过程不能保留。,M,文件的程序执行方式,将命令编成程序存储在一个文件中(,M,文件),依次运行文件中的命令,可以重复进行。,Matlab,程序设计有传统高级语言的特征,又有自己独特的特点,,可以利用数据结构的特点,,使程序结构简单,编程效率高,。,Digital Signal Processing,Matlab,程序设计,用,Matlab,语言编写的程序,称为,M,文件。,是由若干,Matlab,命令组合在一起构成的,它可以完成某些操作,也可以实现某种算法。,M,文件根据调用方式的不同分为两类:,命令文件(,Script File,),函数文件(,Function File,),它们的扩展名都是,.m,Digital Signal Processing,Matlab,程序设计,命令文件没有输入参数,也不返回输出参数;,函数文件可以带输入参数,也可以返回输出参数。,命令文件对工作空间中的变量进行操作,文件中所有命令的执行结果也返回工作空间中;,函数文件中定义的变量为局部变量,当函数文件执行完毕时,这些变量也被清除。,命令文件可以直接运行;,函数文件不能直接运行,要以函数调用的方式来调用它。,Digital Signal Processing,Matlab,程序设计(命令文件,exch,),命令文件:,clear;,a=1:10;,b=11,12,13,14;15,16,17,18;,c=a;a=b;b=c;,a,b,将文件保存为,exch,,,并在命令窗口执行。,执行结果,(将,a,,,b,的值互换),a=,11 12 13 14,15 16 17 18,b=,1 2 3 4 5 6 7 8 9 10,Digital Signal Processing,Matlab,程序设计(函数文件),fexch.m,function,a,b,=,exch(a,b,),c=a;a=b;b=c;,然后在命令窗口调用该函数文件:,clear;,x=1:10;,y=11,12,13,14;15,16,17,18;,x,y,=,fexch(x,y,),输出结果为:,a=,11 12 13 14,15 16 17 18,b=,1 2 3 4 5 6 7 8 9 10,函数参数,a,,,b,,,c,未保留在工作空间中,,x,,,y,保留在工作空间中。,Digital Signal Processing,Matlab,程序设计(,M,文件),M,文件是一个文本文件,可以用任何编辑程序来建立和编辑,一般最常用的是使用,Matlab,提供的文本编辑器。,该编辑器是一个集编辑和调试于一体的工作环境,。,Digital Signal Processing,Matlab,程序设计(程序控制结构),顺序结构,选择结构,循环结构,任何复杂的程序都可以由这,3,种基本结构构成。,Digital Signal Processing,Matlab,程序设计(顺序结构),顺序结构是指按照程序中语句的排列顺序依次执行,直到程序的最后一个语句。(最简单的一种程序),1,、数据的输入,从键盘输入数据,则可以使用,input,函数,来进行,,调用格式为:,A=input,(,提示信息,选项);,其中提示信息为一个字符串,用于提示用户输入数据。,例如:从键盘输入,A,矩阵,可以采用下面的命令来完成,A=input,(输入,A,矩阵);,如果在,input,函数调用时采用,s,选项,则允许用户输入一个字符串。,例:,xm,=,input(Whats,your,name?,s,);,Digital Signal Processing,Matlab,程序设计(顺序结构),2,、数据的输出,命令窗口输出函数主要有,disp,函数,其调用格式为:,disp,(,输出项),其中输出项既可以为字符串,也可以为矩阵,。,例如:,A=Hello,Tom;,disp(A,),输出为:,Hello,Tom,又如:,A=1,2,3;4,5,6;7,8,9;,disp(A,),输出为:,1 2 3,4 5 6,7 8 9,%,disp,函数输出格式更紧凑,Digital Signal Processing,Matlab,程序设计(顺序结构),例,5.2,求一元二次方程 的根。,由于,Matlab,能进行复数运算,所以不需要判断方程的判别式,,可直接根据求根公式求根。,程序如下:,a=,input(a,=?);,b=,input(b,=?);,c=,input(c,=?);,d=b*b-4*a*c;,x=(-b+sqrt(d)/(2*a),(-b-sqrt(d)/(2*a);,disp(x1=,num2str(x(1),x2=,num2str(x(2);,程序输出为:,a=?4,b=?78,c=?54,x1=-0.7188,x2=-18.7812,Digital Signal Processing,Matlab,程序设计(顺序结构),3,、程序的暂停,程序执行过程中暂停,可用,pause,函数,其调用格式为:,pause,(,延迟描述),如果省略延迟时间,直接使用,pause,,,则将暂停程序,直到,用户按任一键后程序继续执行。,若要强行中止程序的运行可按,Ctrl+C,键。,Digital Signal Processing,Matlab,程序设计(选择结构),选择结构是根据给定的条件成立或不成立,分别执行不同的语句。,Matlab,用于实现选择结构的语句有,if,语句,,switch,语句和,try,语句,。,1.if,语句,在,Matlab,中,,if,语句有,3,种格式。,(1),单分支,if,语句,语句格式:,if,条件,语句组,end,例如:当,x,是整数矩阵时,输出,x,的值,if,fix(x,)=x,disp(x,);,end,Digital Signal Processing,Matlab,程序设计(选择结构),(2),双分支,if,语句,语句格式:,if,条件,语句组,1,else,语句组,2,end,当条件成立时,执行语句组,1,,否则执行语句组,2,,然后再执行,if,语句,的后续语句。,Digital Signal Processing,Matlab,程序设计(选择结构),例,计算分段函数:,程序如下:,x=input(,请输入,x,的值,:,);,if x=10,y=cos(x+1)+sqrt(x*x+1);,else,y=x*,sqrt(x+sqrt(x,);,end,y,也可以用单分支,if,语句来实现:,x=input(,请输入,x,的值:,);,y=cos(x+1)+sqrt(x*x+1);,if x=10,y=x*,sqrt(x+sqrt(x,);,end,y,Digital Signal Processing,Matlab,程序设计(选择结构),(3),多分支,if,语句,语句格式:,if,条件,1,语句组,1,elseif,条件,2,语句组,2,elseif,条件,m,语句组,m,else,语句组,n,end,Digital Signal Processing,Matlab,程序设计(选择结构),输入一个字符,若为大写字母,则输出其对应的小写字母;若为小写字母,则,输出其对应的大写字母;若为数字字符则输出其对应的数值,若为其他字符则,原样输出。,程序如下:,c=input(,请输入一个字符,,s);,if c=A&c=a&c=0&c=9,disp(abs(c)-abs(0);,else,disp(c,);,end,Digital Signal Processing,Matlab,程序设计(选择结构),2,、,switch,语句,switch,语句根据表达式的取值不同,分别执行不同的语句,其语句格式:,switch,表达式,case,表达式,1,语句组,1,case,表达式,2,语句组,2,case,表达式,m,语句组,m,otherwise,语句组,n,end,Digital Signal Processing,Matlab,程序设计(选择结构),某商场对顾客所购买的商品实行打折销售,标准如下:,price200,没有折扣,200=price500 3%,折扣,500=price1000 5%,折扣,1000=price2500 8%,折扣,2500=price5000 10%,折扣,5000,mtimes,Inner matrix dimensions must agree.,Digital Signal Processing,Matlab,程序设计(循环结构),循环是指按照给定的条件,重复执行指定的语句,,Matlab,提供了两种,实现循环结构的语句:,for,语句和,while,语句。,1,、,for,语句,for,语句的格式为:,for,循环变量,=,表达式,1,:表达式,2,:表达式,3,循环体语句,end,其中表达式,1,的值为循环变量的初值,表达式,2,的值为步长,表达式,3,的,值为循环变量的终值。步长为,1,时,表达式,2,可以省略。,Digital Signal Processing,Matlab,程序设计(循环结构),已知 ,当,n=100,时,求,y,的值。,程序如下:,y=0;n=100;,for i=1:n,y=y+1/i/i;,end,y,输出结果为:,y=,1.6350,利用,Matlab,的特点,常用向量运算来代替,循环操作,程序可以如下,:,n=100;,i=1:n;,f=1./i.2;,y=,sum(f,),Digital Signal Processing,Matlab,程序设计(循环结构),2,、,while,语句,while,语句的一般格式为:,while,条件,循环体语句,end,其执行过程为:,若条件成立,则执行循环体语句,执行后再判断条件是否成立,,如果不成立则跳出循环。,Digital Signal Processing,Matlab,程序设计(循环结构),从键盘输入若干个数,当输入,0,时结束输入,求这些数的平均值和,它们的和。,sum=0;,n=0;,x=,input(Enter,a,number(end,in 0):);,while(x,=0),sum=,sum+x,;,n=n+1;,x=,input(Enter,a,number(end,in 0):);,end,if(n,0),sum,mean=sum/n,end,Digital Signal Processing,Matlab,程序设计(循环结构),3,、,break,语句和,continue,语句,它们一般与,if,语句配合使用。,break,语句用于终止循环的执行。,当在循环体内执行到该语句时,程序将跳出循环,继续执行循环语句的,下一语句。,continue,语句控制跳过循环体中的某些语句。,当在循环体内执行到该语句时,程序将跳过循
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!