matlab总结.ppt2.ppt

上传人:本田雅阁 文档编号:2146119 上传时间:2019-02-21 格式:PPT 页数:35 大小:1.78MB
返回 下载 相关 举报
matlab总结.ppt2.ppt_第1页
第1页 / 共35页
matlab总结.ppt2.ppt_第2页
第2页 / 共35页
matlab总结.ppt2.ppt_第3页
第3页 / 共35页
亲,该文档总共35页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《matlab总结.ppt2.ppt》由会员分享,可在线阅读,更多相关《matlab总结.ppt2.ppt(35页珍藏版)》请在三一文库上搜索。

1、MATLAB总结,2011级物理学 刘芯麟,1 使用变量与基本运算 2 向量与矩阵的处理 3 程序流程控制 4 M文件 5 二维平面绘图 6三维立体绘图 7 多项式的处理与分析,基本运算 基本运算符号 + - * / (5*2+3.5)/5 ans=2.7000 %其中ans是存计算结果的默认变量 x=32 x=32; %表达式式后加; 表示结果不在屏幕上显示 x=5*sin(pi/3),y=cos(pi/2) %在一行中的多条语句用,或;隔开 x=5*sin(pi/3)+cos(pi/4). +exp(2) %如果一个语句过长,可以用 .将其延伸到下一行 MATLAB变量名第一个字符必须是英

2、文字母,字母间不能有空格,最多只能有31个字母或数字。变量不需要预先声明,变量以默认的double数据类型保存。,向量与矩阵的处理,1、矩阵的表示 A=1 2;3 4 或 A=1 ,2;3, 4 B=1 2 3 或 B=1 ,2, 3 %行向量 C=1;2;3 %列向量 行向量看作只有一行的矩阵,列向量看作只 有一列的矩阵。,2、矩阵的处理 A=1 2 3;4 5 6;7 8 9 输入一个33的矩阵 A= 1 2 3 4 5 6 7 8 9 3、矩阵中的单个元素处理 A(1,2)=5 表示将矩阵A中第1行,第2列的元素改为 B=A(2,1:3) %取出A的第2行的元素 B= 4 5 6,A;

3、1 1 %在A中加入第4行 ans= 1 3 4 6 7 9 1 1 %取出矩阵的一部分形成一个新矩阵 B=A(1:2,1:2) B = 1 2 4 5,A( 1,:)= %删除A的第1行:表示所有行 A = % 表示空矩阵 4 5 6 7 8 9 A( :,1 3)= %删除A的第1,3列 A = 5 8 A=A,B %将B合并到A中 A = 5 1 2 8 4 5,1 循环语句 2 条件语句,程序流程控制,循环语句,MATLAB提供两种循环语句,一种是for 循环(For Loop),另一种是while 循环(While Loop)。 for 变量 = 向量 %变量依此取向量的每个元素,执

4、行表达式 表达式 end for 变量 = 矩阵 %变量依此取矩阵的每一列,执行表达式 表达式 end,for k = 1 2 3 x(k)=1/k end x = 1.0000 0.5000 0.3333 a=1 2;3 4; for k = a sum(k) end ans=4 ans=6,另一种是while 循环(While Loop)。 while 循环使用方法是 while 条件式 %当条件成立(条件式值为1),执行表达式 表达式 end x=1 2 3 4 5 6; k=1; while k = 4 x(k)=1/k; k=k+1; end x= 1 1/2 1/3 1/4 5 6

5、,条件语句,MATLAB提供两种条件语句,一种是 if-then-else 条件语句。另一种是 switch-case-otherwise 条件语句。 if-then-else 条件语句使用方法是 if 条件式 %当条件成立(条件式值为1),执行表达式1 表达式1 end if 条件式 %当条件成立(条件式值为1),执行表达式1 表达式1 else %否则,(条件式值为0),执行表达式2 表达式2 end,M文件,M文件可分为脚本(Scripts)和 函数(Functions)两种。 脚本的执行与将个别MATLAB语句在命令窗口中执行是一样的。可以直接使用工作空间(WorkSpace)中的已有

6、的变量,脚本中的变量在工作空间中也可以看到。(全局变量) 函数则要依靠输入变量(Input Arguments)和输出变量(Output Arguments)来传递信息。函数中的变量只在本函数中可以看到。(局部变量),全局变量与局部变量,Matlab中,函数文件中的变量是局部变量。 如在若干函数中,都把某一变量定义为全局变量,那么这些函数将 共用这个变量。 全局变量的作用域是整个Matlab的工作空间,所有函数都可以对它 进行存取和修改。 全局变量用global命令定义,格式为: global 变量名 例15 全局变量应用示例。 先建立函数文件wadd.m, 该函数将输入的参数加权相加: f

7、= wadd(x,y) global ALPHA BETA f = ALPHA*x + BETA*y;,在命令窗口中输入: global ALPHA BETA ALPHA = 1; BETA = 2; s = wadd(1,2) 输出为: s = 5,Matlab中,函数文件中的变量是局部变量。 如在若干函数中,都把某一变量定义为全局变量,那么这些函数将 共用这个变量。 全局变量的作用域是整个Matlab的工作空间,所有函数都可以对它 进行存取和修改。 全局变量用global命令定义,格式为: global 变量名,注意:,应尽量少使用全局变量,因为全局变量使用会使程序流程不透明,增加调试和维

8、护的困难。如果一定要使用,请遵循下列两原则: (1)使用前必须进行声明 (2)使用全部大写,或较长的变量名称以示与局部变量的区别。,脚本是一个扩展名为M的文本文件,是MATLAB命令和语句的集合。在MATLAB的命令窗口中输入此文件的主文件名MATLAB即可依次执行此文件中的所有命令。脚本中的所有变量均存在MATLAB的工作空间中。 脚本的优点是容易进行变量的查看与调试。缺点对较复杂的程序,容易产生变量的覆盖而引起程序的错误,要克服这个缺点,可以用函数。 exp1.m A=1 2;3 4;B=1 1;0 1 C=A+B D=C*B,脚本(Scripts),函数文件,函数文件是另一种形式的M文件

9、,每一个函数文件都定义一个函数。 Matlab提供的标准函数大部分是由函数文件定义的。 1 函数文件的基本结构 函数文件由function语句引导,其基本结构为: function 输出形参表 = 函数名(输入形参表) 注释说明部分 函数体语句 其中,以function开头的一行为引导行,表示该M文件是一个函数文件。 当输出形参多于一个时,应该用方括号括起来。,主函数和子函数,一个M文件可以包含多个函数,其中一个是主函数(Primary Function),其它的称为子函数(Sub functions)。 这些子函数只能被同一M文件中的函数(主函数或子函数)调用,但不能被其它文件中的函数调用。

10、 在一个M文件中,主函数必须在最上方,其后可有任任意数目的子函数,子函数的次序无任何限制。,说明:,1). 关于函数文件名 函数文件名通常由函数名再加上扩展名.m组成。 当函数文件名与函数名不同时,Matlab将忽略函数名而确认文件名 因此调用时使用函数文件名。,说明:,2). 关于注释说明部分 注释说明包括3部分: 紧随引导行之后以%开头的第一注释行。 这一行一般包括大写的函数文件名和函数功能简要描述,供lookfor 关键词查询和help在线帮助时使用。 第一注释行及之后连续的注释行。 通常包括函数输入/输出参数的含义及调用格式说明等信息,构成全 部在线帮助文本。 与在线帮助文本相隔一空行

11、的注释行。 包括函数文件编写和修改的信息,如作者和版本等,函数调用,函数调用的一般格式是: 输出实参表 = 函数名(输入实参表) 注意:函数调用时,各实参出现的顺序、个数,应与函数定义时相同。 例12 利用函数文件,实现直角坐标(x,y)与极坐标(,)之间的转换。 函数文件:tran.m: function rho,theta = tran(x,y) rho = sqrt(x*x+y*y); theta = atan(y/x);,调用tran.m的脚本文件main1.m: x = input(please input x=:); y = input(please input y=:); rho

12、,the = tran(x,y); rho the,二维平面绘图,1 基本二维绘图命令 2 图形的控制 3 图轴(坐标轴)的控制,基本二维绘图命令,MATLAB中的plot 是最基本的绘图命令,plot是一个功能强大的函数。 下面我们通过一些实例说明它的用法。 例1 x=0:0.2:2*pi; %在0到2之间以0.2为步长取点 y=sin(x); %计算所取点的函数值 plot(x,y) %进行二维平面绘图 例2 x=0:0.2:2*pi; %在0到2之间以0.2为步长取点 plot(x,sin(x),x,cos(x); %进行二维平面多曲线绘图,用plot 函数可以对矩阵变量绘图。如果只给定

13、一个矩阵y, plot(y) 可以对 y 的每个列向量(Column Vector)绘图。 例3( plot 函数对一个矩阵绘图) y=1 2 3;4 5 6;7 8 9; plot(y); 如果x,y都是矩阵, plot (x,y)将会取 y 的每个列向量和对应的x的行向量绘图。 例4( plot 函数对一个向量和一个矩阵绘图) x= 1 2 3; y=1 1 1;2 2 2;3 3 3; plot(x,y); 例5( plot 函数对两个矩阵绘图) x= 1 2 3;4 5 6;7 8 9; y=1 1 1;2 2 2;3 3 3; plot(x,y); 注意:x可以是一行,也可以是多行,

14、多行时x的列数必须与y的行数相等。,图形的控制,用plot 函数绘图时可以控制图形的颜色和标记。 例6(颜色控制) x=0:0.2:2*pi; %在0到2之间以0.2为步长取点 plot(x,sin(x), r,x,cos(x), y); %进行二维平面多曲线绘图 此例中,绘出两条曲线图,第一条曲线是红色,第二条曲线是黄色。 例7(标记控制) x=0:0.2:2*pi; %在0到2之间以0.2为步长取点 plot(x,sin(x), o,x,cos(x), +); %进行二维平面多曲线绘图 此例中,绘出两条曲线图,第一条曲线以“o”为标记,第二条曲线以“+”为标记。,图形的控制,例8(同时控制

15、颜色和标记) x=0:0.2:2*pi; %在0到2之间以0.2为步长取点 plot(x,sin(x), r+,x,cos(x), yo); %进行二维平面多曲线绘图 此例中,绘出两条曲线图,第一条曲线是红色,以“+”为标记,第二条曲线是黄色,以“o”为标记。 例9(曲线类型的控制) x=0:0.2:2*pi; %在0到2之间以0.2为步长取点 plot(x,sin(x), r,x,cos(x), b- ); %进行二维平面多曲线绘图 此例中,绘出两条曲线图,第一条曲线是红色实线,第二条曲线是蓝色虚线。,用plot 函数绘图时图形的颜色选项表 plot参数 图形的颜色 RGB值 B 蓝色(Bl

16、ue) 0,0,1 C 青色(Cyan) 0,1,1 G 绿色( Green ) 0,1,0 K 黑色( Black ) 0,0,0 M 紫色(Magenta) 1,0,1 R 红色(Red) 1,0,0 W 白色(White) 1,1,1 Y 黄色(Yellow) 1,1,0 说明:可以直接用RGB值控制图形的颜色,曲线格式表 plot()中参数 曲线格式 - 实线(默认) - 虚线 : 点线 -. 点划线,曲线标记符号表 plot()中参数 曲线标记 o 圆形 + 加号 x 叉号 * 星号 . 点号,图轴(坐标轴)的控制,plot可以根据图形自动调整坐标的范围和坐标的标记。如果有特殊需要,

17、用户也可以根据自己的需要指定这些参数。其基本命令和语法是 axis( xmin, xmax, ymin, ymax) %指定坐标范围 set(gca, ytick ,0 1 2 3 4) %指定y轴的标记 hold on(off) %保持(不保持)当前图形 grid on (off) %打开(关闭)网格线 box on (off) %画出(取消)图形外围的长方形 subplot(n, m, p) %在一个窗口画多个图形 说明:图轴的颜色和图形窗口的背景色可以用set()函数自由设置。,三维立体绘图,基本三维绘图命令 Mesh、surf 和plot3 是三维绘图的基本命令, mesh可以画出立体

18、网状图,surf 可以画出三维曲面图。plot3可以画出三维曲线图。 例1 (立体网状图) x=linspace(-2,2,25); %在x轴 -2,2之间取25个点 y=linspace(-2,2,25); %在y轴 -2,2之间取25个点 xx,yy=meshgrid(x,y); %xx,yy 是2525的矩阵 zz=xx.*exp(-xx.2-yy.2); %计算函数值,zz是2525的矩阵 mesh(xx,yy,zz); %画出立体网状图 colormap( cool ); %以冷色呈现,多项式的处理与分析,多项式的加减乘除 多项式的求值、求根、 多项式的微分和积分 矩阵的特征多项式,

19、多项式的加减乘除,在MATLAB中,用一个长度为n+1的向量表示多项式p(x) 例如,有两个多项式p(x)=x3+x+1, q(x)=x2-x+2 +,- 计算多项式的加,减法 p=1 0 1 1;q=0 1 1 2; %注意p2最前面的0 p+q ans= 1 1 0 3 p-q ans= 1 -1 2 -1,conv计算多项式的乘法 p1=1 0 2 3; p2=1 -1 2; P3=conv(p1,p2) p3=0 1 -1 4 1 1 6 deconv 计算多项式的除法 q,r=deconv(p1,p2) q=1 1 r= 0 0 1 1 表示P1除以P2得到商式是q(x)=x+1,余

20、式是r(x)=x+1,多项式的求值、求根,polyval计算多项式的值P=1 2 1; y=polyval(p,2) x=1 2;3 4; y=polyval(p,x) y= 4 9 16 25 y=9 y=polyval(p,0:3) y= 1 4 9 16,多项式的微分和积分,polyder 计算多项式的的微分 p=1 3 3 1; q=polyder(p) q= 3 6 3 表示p(x)=x3+3x2+3x+1微分后的结果是q(x)=3x2+6x+3 polyint 计算多项式的的积分 p=4 3 2 1; q=polyint(p) q=1 1 1 1 0 表示p(x)=4x3+3x2+

21、2x+1积分后的结果是 q(x)=x4+ x3+ x2+ x,矩阵的特征多项式,roots计算多项式的零点 p=1 2 1 1 3; y=roots(p) poly 计算矩阵A的特征多项式 A=1 2 1; 1 3 1;1 1 0; p=poly(A) p= 1.0000 -4.0000 -1.0000 1.0000 y=roots(p) y= 4.1819 -0.5884 0.4064,总结: 这学期学了matlab,虽然只是懂了一些编程的基本技巧,这些是远远不够的。但是我觉得我最大的收获是学会了一些重要的学习方法,这些对我有很大的帮助。 希望在今后的日子里,能继续学习matlab,学的更精通一些,为自己的将来打好基础。,刘芯麟 2011年6月25日,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1