收藏 分销(赏)

matlab编程入门基础PPT.ppt

上传人:天**** 文档编号:10239262 上传时间:2025-04-29 格式:PPT 页数:44 大小:868.50KB 下载积分:12 金币
下载 相关
matlab编程入门基础PPT.ppt_第1页
第1页 / 共44页
matlab编程入门基础PPT.ppt_第2页
第2页 / 共44页


点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,*,数学实验,Matlab,编程入门,(,一,),1,Matlab,编程入门,Matlab,作为一种广泛应用于科学计算的工具软件,不仅具有强大的数值计算能力和丰富的绘图功能,同时也可以与,C、FORTRAN,等高级语言一样进行,程序设计,利用,Matlab,的程序控制功能,将相关,Matlab,命令编成程序存储在一个文件中(,M,文件,),然后在命令窗口中运行该文件,,Matlab,就会自动依次执行文件中的命令,直到全部命令执行完毕,在,Matlab,程序设计中,要充分利用,Matlab,数据结构的特点,提高编程效率,Matlab,编程简介,2,M,文件介绍,主要内容,Matlab,编程基础,算术运算、关系运算、逻辑运算,控制结构:顺序结构、选择结构、循环结构,3,用,Matlab,语言编写的程序称为,M,文件,M,文件以,.,m,为扩展名,M,文件是由若干,Matlab,命令组合在一起构成的,它可以完成某些操作,也可以实现某种算法,M,文件分类(根据调用方式的不同),Script,:,脚本文件,/,命令文件,Function,:,函数文件,M,文件,M,文件介绍,可以直接运行的,M,文件,4,M,文件的创建的与编辑,M,文件是文本文件,可以用任何文本编辑器来建立和编辑,通常使用,Matlab,自带的,M,文件编辑器,M,文件,新建一个,M,文件,菜单操作,(,File,New M-File,),命令操作,(,edit,M,文件名,),命令按钮,(,快捷键,),打开已有的,M,文件,菜单操作,(,File,Open,),命令操作,(,edit,M,文件名,),命令按钮,(,快捷键,),双击,M,文件,5,在命令窗口中输入,fcs,,,即可执行该,M,文件,例:,编写,M,文件,将华氏温度转化为摄氏温度:,编程示例,clear;,%,清除当前工作空间中的所有变量,f=input(,Input Fahrenheit temperature:,);,c=5*(f-32)/9;,fprintf(The centigrade temperature is%gn,c);,新建一个,M,文件,fcs.m,,,内容如下:,M,文件运行所产生的,变量都驻留在,Matlab,当前工作空间,百分号是注释符,M,文件必须在当,前工作目录,下或已存的,搜索路径,下才能运行,6,M,文件介绍,主要内容,Matlab,编程基础,算术运算、关系运算、逻辑运算,控制结构:顺序结构、选择结构、循环结构,7,关系运算,小于,大于,=,大于等于,=,等于,=,不等于,比较大小,如果结论是,真,则返回,1,,否则返回,0,注意,=,=,与,=,的区别,关系操作符可以比较两个,同样大小,的数组,或用来比较,一个数组和一个标量,,在后一种情况,标量和数组中的每一个元素相比较,比较结果与数组大小一样,关系运算符,8,例:,关系运算,举例,2+2=4,23,A=1 3 5;2 0 6;,B=3 1 0;2 4 6;,A=B,x=5 0;4 2;,x10,if,flag,%,Do Something,end,上面的表达式就可以防止,denum,等于,0,的情况。当然,如果你希望在判断的时候,,对,A,和,B,表达式都进行计算,就应该使用标准的,&,或者,|,。,Matlab,中的,if,和,while,语句中的逻辑与和逻辑或都是默认使用,short-circuit,形式。,12,逻辑运算,逻辑运算符,if,flag=denum=0&num/denum10,%Do Something,end,与,if,flag=denum=0&num/denum10,%Do Something,end,执行的结果一样,13,运算对象,与,或,非,异或,A,B,A&B,A|B,A,Xor(A,B),0,0,0,0,1,0,0,1,0,1,1,1,1,0,0,1,0,1,1,1,1,1,0,0,逻辑运算表,在,Matlab,中,,0,表示“假”,非零表示“真”,14,all,(x),如果向量,X,中,所有元素都非零,,则返回,1,,否则返回,0,若,x,为矩阵,则,any,和,all,按列运算,返回一个,0-1,向量,逻辑运算,相关函数,any,(x),如果向量,X,中,存在非零元素,,则返回,1,,否则返回,0,15,isfinite(,x,),若,x,为有限值,返回真值,1,isinf(,x,),若,x,为无穷大,返回真值,1,isnan(,x,),若,x,为不定值,返回真值,1,isreal(,x,),若,x,无虚部,返回真值,1,isstr(,x,),若,x,为一个字符串,返回真值,1,isempty(,x,),若,x,为空,返回真值,1,一些测试函数,isfinite(5),isinf(5),16,括号,幂,点幂,正号,负号,逻辑非,乘,除,点乘,点除,加,减,冒号运算,关系运算,&,|,&,|,运算优先级,高,低,17,M,文件介绍,主要内容,Matlab,编程基础,算术运算、关系运算、逻辑运算,控制结构:,顺序结构:,数据输入输出(,input,、,disp,、,fprintf,等),选择结构:,if,语句、,switch,语句,循环结构:,for,循环、,while,循环,18,程序控制结构有三种:,顺序结构,、,选择结构,和,循环结构,任何复杂的程序都由这三种基本结构组成,M,文件控制流,按排列顺序依次执行各条语句,直到程序的最后,这是最简单的一种程序结构,一般涉及数据的输入输出、数据的计算或处理等,顺序结构,19,例:,A=input,(,Please input A:),数据的输入:,input,A=input,(,提示信息,),其中,提示信息,为字符串,,该命令要求用户输入,A,的值,(,可以是数或字符串,),input,name=input,(,What,s your name?,),例:,输入字符串时必须带单引号,单引号的输出,20,disp,(X),输出变量,X,的值,,X,可以是数值矩阵或字符串,一次只能输出一个变量,B=,1 2 3;4 5 6;7 8 9,;,disp,(B),disp,数据的输出:,disp,A=,Hello,Tom!,;,disp,(A),例:,21,fprintf,fprintf,(fid,format,variables),数据的格式化输出:,fprintf,按,指定的格式,将变量的值输出到屏幕或指定的,文件,fid,为文件句柄,若缺省,则输出到屏幕上,format,用来指定数据输出时采用的格式,包含:,普通字符串、格式字符串、转义字符,%d,(,整数,),%e,(,实数:科学计数法形式,),%f,(,实数:小数形式,),%g,(,由系统自动选取上述两种格式之一,),%s,(,输出字符串,),n,(,换行,),t,(,制表符,),b,(,退格,),(,反斜杆,),%,(,百分号,),22,fprintf,a=,Hello,;,b=2.4;,c=100*pi;,fprintf,(,a=,%,s,b=,%f,c=,%e,n,a,b,c),例:,format,中的,格式字符串,要与输出变量一一对应,可以没有输出变量,fprintf,(,Today is Mondayn,),例:,23,pause,暂停,:,pause,pause,或,pause(n,),若想强行终止正常运行的程序,可以使用,Ctrl+c,其中,n,是暂停的时间,以秒为单位,若缺省,则将暂停程序,直到用户按任意键后继续,pause off,屏蔽程序中所有,pause,的作用,pause on,打开,pause,的作用,24,选择结构,是根据给定的条件成立或不成立,分别执行不同的语句。,Matlab,用于实现选择结构的语句有,if,语句,和,switch,语句,。,选择结构,25,单分支结构,if,expr(,条件,),语句组,A,end,if,条件语句,if,expr(,条件,),语句组,A,else,语句组,B,end,双分支结构,26,if,expr1,(,条件,1,),语句组,A,elseif,expr2(,条件,2,),语句组,B,.,elseif,exprm(,条件,m,),语句组,m,else,语句组,end,多分支结构,if,条件语句,27,根据表达式的不同取值,分别执行不同的语句,switch,expr(,表达式,),case,value1(,表达式1,),语句组1,case,value2(,表达式2,),语句组2,.,case,valuem(,表达式,m,),语句组,m,otherwise,语句组,end,switch,语句,28,Matlab,首先计算,expression,的值,然后将它依次与各个,case,指令后的检测值进行比较,当比较结果为真时,就执行相应的语句组,然后跳出,switch,结构,switch,后面的表达式,expression,的值可以是一个标量或字符串,switch,语句,otherwise,指令可以不出现,如果所有的比较结果都为假,则执行,otherwise,后面的语句组,然后跳出,switch,结构,关于,switch,语句的几点注解:,29,选择结构的语法格式,与,C,语言对照,MATLAB:,if a=b,if c=d,matlab=c;,else,matlab=c;,pascal=matlab;,end,end,C:,if (a=b),if (c!=d),matlab=c;,else,matalb=!c;,pascal=matlab;,30,MATLAB:,C:,switch,表达式(标量或字符串),switch,表达式(标量或字符串,),),case,常量表达式 ,case,常量表达式:,语句,语句;,break,;,case,常量表达式,2,case,常量表达式,2,:,语句,2,语句;,break,;,otherwise/default default,:,语句,n,语句,n,end,选择结构的语法格式,与,C,语言对照,31,循环结构,是按照给定的条件,重复执行指定的语句。,Matlab,用于实现循环结构的语句有,for,语句,和,while,语句,循环结构,32,for,var,=,expr,循环体,end,循环变量,表达式,expr,可以是行向量,也可以是矩阵,for,循环,clear;,y=0;,n=100;,for,k=1:n,y=y+1/(2*k-1);,end,例:,已知,,,当,n,=100,时,求,y,的值,33,循环语句可以嵌套使用,while,循环,while,expr,(,条件,),循环体,end,不能在,for,循环体,内改变循环变量的值,为了提高代码的运行效率,应尽可能提高代码的向量化程度,避免,for,循环,的使用,如果预先就知道循环的次数,则可以采用,for,循环,;否则,如果预先无法确定循环的次数,则可以使用,while,循环,。,34,循环结构的语法格式,与,C,语言对照,Matlab C,while a=b,while(a=b),c=c+1;,c+=1;,end,while,循环的格式为:,35,for,循环的格式为:,Matlab C,for i,1:,2,:100 for,(,i=1;i=100;i=i,+2,),c(i)=c(i)+1;,end c(i)=c(i)+1;,MATLAB,中循环变量的步长缺省值是。步长可以在正实数或负实数范围内任意指定,循环变量的值大于(步长为负数时小于)终止值时,循环结束。,循环结构的语法格式,与,C,语言对照,36,break,和,continue,break,语句用于,终止循环,的执行,即跳出最内层循环,continue,语句用于结束,本次循环,,进行下一次循环,break,和,continue,一般与,if,语句配合使用,其它流控制语句,return,return,语句用于,退出,正在运行的脚本或函数,通常用在函数文件中,37,编程示例,数论中的一个有趣问题:,3n+1,问题:,任取一个正整数,如果是偶数,用 2 除,如果是奇数,用 3 乘再加 1,反复这个过程,直到所得到的数为 1。,问:是否存在使该过程永不中止的整数?,例:,38,while,1,n=input,(Please enter n(nonpositive quit):),;,if,n1,if,rem,(n,2)=0,n=n/2,;,else,n=3*n+1,;,end,fprintf,(n n=%d,n),;,end,fprintf,(n n=%d is not we need!continue.n,nt),;,end,编程示例,39,这个例子给出了计算,eps,的一种方法。,这里我们用大写,EPS,,,因此系统中,eps,的值不会被覆盖。当,EPS=eps,时,条件仍成立;而当,EPS=eps/2,时,条件为假,退出循环,所以最后应有,EPS=eps/2,。,num,用来记录循环次数。,计算,Matlab,中,eps,值,while,编程示例,num=0;EPS=1;,while,(1+EPS)1,EPS=EPS/2;,num=num+1;,end,例:,40,练 习,使用循环、判断等语句进行下列计算:,1,.,2.求出,y=x*sin(x),在0,xx,x=x/2;end,x=1;while x+xx,x=2*x;end,试利用这个公式,计算,sin(,/2,),和,sin(31,/2,),的值,并与,Matlab,自带的,sin,函数比较,误差分别多大?为什么?,43,3,、假设公鸡每只,5,元,母鸡每只,3,元,小鸡三只,1,元。,现有,100,元钱,要求买,100,只鸡,,问:公鸡、母鸡、小鸡各买多少只?,上机作业,44,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服