资源描述:
《matlab编程简明教程.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Matlab编程基础数学实验数学软件Matlab1本讲主要内容M文件Matlab编程基础算术运算、关系运算、逻辑运算控制结构:顺序结构、选择结构、循环结构2Matlab编程入门Matlab作为一种广泛应用于科学计算的工具软件,不仅具有强大的数值计算能力和丰富的绘图功能,同时也可以与C、FORTRAN等高级语言一样进行程序设计利用Matlab的程序控制功能,将相关Matlab命令编成程序存储在一个文件中(M文件),然后在命令窗口中运行该文件,Matlab就会自动依次执行文件中的命令,直到全部命令执行完毕
2、在Matlab程序设计中,要充分利用Matlab数据结构的特点,提高编程效率Matlab编程简介3用Matlab语言编写的程序称为M文件M文件以.m为扩展名M文件是由若干Matlab命令组合在一起构成的,它可以完成某些操作,也可以实现某种算法M文件分类(根据调用方式的不同)Script:脚本文件/命令文件Function:函数文件M文件M文件介绍可以直接运行的M文件4M文件的创建的与编辑M文件是文本文件,可以用任何文本编辑器来建立和编辑,通常使用Matlab自带的M文件编辑器M文件新建一个M文件菜单操
3、作(FileNewM-File)命令操作(editM文件名)命令按钮(快捷键)打开已有的M文件菜单操作(FileOpen)命令操作(editM文件名)命令按钮(快捷键)双击M文件5编程示例u=[0:pi/60:2*pi];v=[0:pi/60:pi];[U,V]=meshgrid(u,v);R=3;X=R*sin(V).*cos(U);Y=R*sin(V).*sin(U);Z=R*cos(V);mesh(X,Y,Z);axisequal;编程方式:新建一个M文件myprg1.m,内容如下:例:用
4、mesh绘制半径为3的球命令行方式:>>u=[0:pi/60:2*pi];>>v=[0:pi/60:pi];>>[U,V]=meshgrid(u,v);>>R=3;>>X=R*sin(V).*cos(U);>>Y=R*sin(V).*sin(U);>>Z=R*cos(V);>>mesh(X,Y,Z);>>axisequal;在命令窗口输入myprg1,即可执行该M文件文件的命名规则与变量相同!6在命令窗口中输入f2c,即可执行该M文件例:编写M文件,将华氏温度转化为摄氏温度:脚本文件编程示例clear
5、;%清除当前工作空间中的所有变量f=input('Pleaseinputf:');c=5*(f-32)/9;fprintf('c=%g',c);新建一个M文件f2c.m,内容如下:M文件运行所产生的变量都驻留在Matlab当前工作空间百分号是注释符7函数文件编程示例例:编写M文件,求方程的根(a、b、c自取)functiongen(a,b,c)d=b*b-4*a*c;x=[(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)];disp(‘函数的根为:’)disp(['x1=
6、',num2str(x(1)),'x2=',num2str(x(2))])新建一个M文件gen.m,内容如下:在命令窗口中输入gen(1,2,1),即可调用该M文件中的函数gen.注意:(1)函数名必须与文件名相同(2)调用时需给出相应的输入参数8本讲主要内容M文件Matlab编程基础算术运算、关系运算、逻辑运算控制结构:顺序结构、选择结构、循环结构9关系运算<小于<=小于等于>大于>=大于等于==等于~=不等于比较大小,如果结论是真则返回1,否则返回0注意==与=的区别关系操作符可以比较两个同样大小
7、的数组,或用来比较一个数组和一个标量,在后一种情况,标量和数组中的每一个元素相比较,比较结果与数组大小一样关系运算符10例:关系运算举例>>2+2==4>>2>3>>A=[135;206];>>B=[310;246];>>A>=B>>x=[50;42];>>x<411&与(ElementwiseAND)
8、或(ElementwiseOR)~非xor(x,y)异或逻辑运算逻辑运算符&&与(Short-circuitAND)
9、
10、或(Short-circuitOR)A&B等价于and(A,B)A
11、B等价于or
12、(A,B)~A等价于not(A)12运算对象与或非异或ABA&BA
13、B~AXor(A,B)000010010111100101111100逻辑运算表在Matlab中,0表示“假”,非零表示“真”13all(x)如果向量X中所有元素都非零,则返回1,否则返回0若x为矩阵,则any和all按列运算,返回一个0-1向量逻辑运算逻辑运算函数:all、anyany(x)如果向量X中存在非零元素,则返回1,否则返回014isfinite(x)若x为有限值,返回真