matlab总结.ppt2.ppt

上传人:sccc 文档编号:5343912 上传时间:2023-06-28 格式:PPT 页数:35 大小:1.78MB
返回 下载 相关 举报
matlab总结.ppt2.ppt_第1页
第1页 / 共35页
matlab总结.ppt2.ppt_第2页
第2页 / 共35页
matlab总结.ppt2.ppt_第3页
第3页 / 共35页
matlab总结.ppt2.ppt_第4页
第4页 / 共35页
matlab总结.ppt2.ppt_第5页
第5页 / 共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=32x=32;%表达式式后加;表示结果不在屏幕上显示x=5*sin(pi/3),y=cos(pi/2)%在一行中的多条语句用,或;隔开x=5*sin(pi/3)+cos(pi/4).+exp(2)%如果一个语句过长,可以用.将其延伸到下一行MATLAB变量名第一个字符必须是英文字母,字母间不能有空格,最多只能有31个字母或

2、数字。变量不需要预先声明,变量以默认的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 93、矩阵中的单个元素处理A(1,2)=5 表示将矩阵A中第1行,第2列的元素改为B=A(2,1:3)%取出A的第2行的元素B=4 5 6,A;1 1%在A中加入第4行ans=1 3 4 6 7 9 1 1%取出矩阵的一部分形

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

4、=1.0000 0.5000 0.3333a=1 2;3 4;for k=a sum(k)endans=4ans=6,另一种是while 循环(While Loop)。while 循环使用方法是while 条件式%当条件成立(条件式值为1),执行表达式 表达式endx=1 2 3 4 5 6;k=1;while k=4x(k)=1/k;k=k+1;endx=1 1/2 1/3 1/4 5 6,条件语句,MATLAB提供两种条件语句,一种是 if-then-else 条件语句。另一种是 switch-case-otherwise 条件语句。if-then-else 条件语句使用方法是if 条件式

5、%当条件成立(条件式值为1),执行表达式1 表达式1endif 条件式%当条件成立(条件式值为1),执行表达式1 表达式1else%否则,(条件式值为0),执行表达式2 表达式2end,M文件,M文件可分为脚本(Scripts)和 函数(Functions)两种。脚本的执行与将个别MATLAB语句在命令窗口中执行是一样的。可以直接使用工作空间(WorkSpace)中的已有的变量,脚本中的变量在工作空间中也可以看到。(全局变量)函数则要依靠输入变量(Input Arguments)和输出变量(Output Arguments)来传递信息。函数中的变量只在本函数中可以看到。(局部变量),全局变量与

6、局部变量,Matlab中,函数文件中的变量是局部变量。如在若干函数中,都把某一变量定义为全局变量,那么这些函数将共用这个变量。全局变量的作用域是整个Matlab的工作空间,所有函数都可以对它进行存取和修改。全局变量用global命令定义,格式为:global 变量名例15 全局变量应用示例。先建立函数文件wadd.m,该函数将输入的参数加权相加:f=wadd(x,y)global ALPHA BETAf=ALPHA*x+BETA*y;,在命令窗口中输入:global ALPHA BETA ALPHA=1;BETA=2;s=wadd(1,2)输出为:s=5,Matlab中,函数文件中的变量是局部

7、变量。如在若干函数中,都把某一变量定义为全局变量,那么这些函数将共用这个变量。全局变量的作用域是整个Matlab的工作空间,所有函数都可以对它进行存取和修改。全局变量用global命令定义,格式为:global 变量名,注意:,应尽量少使用全局变量,因为全局变量使用会使程序流程不透明,增加调试和维护的困难。如果一定要使用,请遵循下列两原则:(1)使用前必须进行声明(2)使用全部大写,或较长的变量名称以示与局部变量的区别。,脚本是一个扩展名为M的文本文件,是MATLAB命令和语句的集合。在MATLAB的命令窗口中输入此文件的主文件名MATLAB即可依次执行此文件中的所有命令。脚本中的所有变量均存

8、在MATLAB的工作空间中。脚本的优点是容易进行变量的查看与调试。缺点对较复杂的程序,容易产生变量的覆盖而引起程序的错误,要克服这个缺点,可以用函数。exp1.mA=1 2;3 4;B=1 1;0 1C=A+BD=C*B,脚本(Scripts),函数文件,函数文件是另一种形式的M文件,每一个函数文件都定义一个函数。Matlab提供的标准函数大部分是由函数文件定义的。1 函数文件的基本结构 函数文件由function语句引导,其基本结构为:function 输出形参表=函数名(输入形参表)注释说明部分 函数体语句 其中,以function开头的一行为引导行,表示该M文件是一个函数文件。当输出形参

9、多于一个时,应该用方括号括起来。,主函数和子函数,一个M文件可以包含多个函数,其中一个是主函数(Primary Function),其它的称为子函数(Sub functions)。这些子函数只能被同一M文件中的函数(主函数或子函数)调用,但不能被其它文件中的函数调用。在一个M文件中,主函数必须在最上方,其后可有任任意数目的子函数,子函数的次序无任何限制。,说明:,1).关于函数文件名 函数文件名通常由函数名再加上扩展名.m组成。当函数文件名与函数名不同时,Matlab将忽略函数名而确认文件名因此调用时使用函数文件名。,说明:,2).关于注释说明部分 注释说明包括3部分:紧随引导行之后以%开头的

10、第一注释行。这一行一般包括大写的函数文件名和函数功能简要描述,供lookfor 关键词查询和help在线帮助时使用。第一注释行及之后连续的注释行。通常包括函数输入/输出参数的含义及调用格式说明等信息,构成全 部在线帮助文本。与在线帮助文本相隔一空行的注释行。包括函数文件编写和修改的信息,如作者和版本等,函数调用,函数调用的一般格式是:输出实参表=函数名(输入实参表)注意:函数调用时,各实参出现的顺序、个数,应与函数定义时相同。例12 利用函数文件,实现直角坐标(x,y)与极坐标(,)之间的转换。函数文件:tran.m:function rho,theta=tran(x,y)rho=sqrt(x

11、*x+y*y);theta=atan(y/x);,调用tran.m的脚本文件main1.m:x=input(please input x=:);y=input(please input y=:);rho,the=tran(x,y);rho the,二维平面绘图,1 基本二维绘图命令2 图形的控制3 图轴(坐标轴)的控制,基本二维绘图命令,MATLAB中的plot 是最基本的绘图命令,plot是一个功能强大的函数。下面我们通过一些实例说明它的用法。例1x=0:0.2:2*pi;%在0到2之间以0.2为步长取点y=sin(x);%计算所取点的函数值plot(x,y)%进行二维平面绘图例2x=0:0

12、.2:2*pi;%在0到2之间以0.2为步长取点plot(x,sin(x),x,cos(x);%进行二维平面多曲线绘图,用plot 函数可以对矩阵变量绘图。如果只给定一个矩阵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

13、3;4 5 6;7 8 9;y=1 1 1;2 2 2;3 3 3;plot(x,y);注意:x可以是一行,也可以是多行,多行时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),+);%进行二维平面多曲线绘图此例中,绘出两

14、条曲线图,第一条曲线以“o”为标记,第二条曲线以“+”为标记。,图形的控制,例8(同时控制颜色和标记)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 函数绘图时图形的颜色

15、选项表plot参数 图形的颜色RGB值B蓝色(Blue)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可以根据图形自动调整坐标的范围和坐标的标记。如果有特殊需要,用户也可以根据自己的需要指定这些

16、参数。其基本命令和语法是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可以画出立体网状图,surf 可以画出三维曲面图。plot3可以画出三维曲线图。例1(立体网状

17、图)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);%以冷色呈现,多项式的处理与分析,多项式的加减乘除多项式的求值、求根、多项式的微分和积分矩阵的特征多项式,多项式的加减乘除,在MATLAB中,用一个长度为n+1的向量表示多项式p(x)例如,有两个多项式p(x)=x3+x+1,q(

18、x)=x2-x+2+,-计算多项式的加,减法p=1 0 1 1;q=0 1 1 2;%注意p2最前面的0p+qans=1 1 0 3p-qans=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 6deconv 计算多项式的除法q,r=deconv(p1,p2)q=1 1r=0 0 1 1表示P1除以P2得到商式是q(x)=x+1,余式是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 1

19、6 25y=9y=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+3polyint 计算多项式的的积分p=4 3 2 1;q=polyint(p)q=1 1 1 1 0表示p(x)=4x3+3x2+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.0000y=roots(p)y=4.1819-0.5884 0.4064,总结:这学期学了matlab,虽然只是懂了一些编程的基本技巧,这些是远远不够的。但是我觉得我最大的收获是学会了一些重要的学习方法,这些对我有很大的帮助。希望在今后的日子里,能继续学习matlab,学的更精通一些,为自己的将来打好基础。,刘芯麟2011年6月25日,

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

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号