MATLAB编程入门培训教材课件.ppt

上传人:小飞机 文档编号:1481146 上传时间:2022-11-30 格式:PPT 页数:40 大小:563KB
返回 下载 相关 举报
MATLAB编程入门培训教材课件.ppt_第1页
第1页 / 共40页
MATLAB编程入门培训教材课件.ppt_第2页
第2页 / 共40页
MATLAB编程入门培训教材课件.ppt_第3页
第3页 / 共40页
MATLAB编程入门培训教材课件.ppt_第4页
第4页 / 共40页
MATLAB编程入门培训教材课件.ppt_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《MATLAB编程入门培训教材课件.ppt》由会员分享,可在线阅读,更多相关《MATLAB编程入门培训教材课件.ppt(40页珍藏版)》请在三一办公上搜索。

1、MATLAB编程入门,目 录,第1章 MATLAB简介第2章 MATLAB基本语法2.1 变量及其赋值2.2 矩阵的初等运算2.3 元素群运算2.4 逻辑判断及流程控制2.5 M文件及程序调试,第一章 MATLAB简介 MATLAB(MATrix LABoratory,即矩阵实验室)是MathWork公司推出的一套高效率的数值计算和可视化软件。 MATLAB是当今科学界最具影响力、也是最具活力的软件,它起源于矩阵运算,并已经发展成一种高度集成的计算机语言。 它提供了强大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面设计、便捷的与其他程序和语言接口的功能。 MATLAB语言有如下优点:

2、 1.编程简单使用方便 MATLAB的基本数据单元是既不需要指定维数、也不需要说明数据类型的矩阵,而且数学表达式和运算规则与通常的习惯相同。因此,在MATLAB环境下,数组的操作与数的操作一样简单。 MATLAB的矩阵和向量操作功能是其他语言无法比拟的。,2.函数库可任意扩充 由于MATLAB语言库函数与用户文件的形式相同,所以用户文件可以像库函数一样随意调用。所以用户可根据自己的需要任意扩充函数库。 3.语言简单内涵丰富 MATLAB语言中最重要的成分是函数,其一般形式为: Function a,b,c=fun(d,e,f) fun是自定义的函数名,只要不与库函数名相重,并且符合字符串的书写

3、规则即可。这里的函数既可以是数学上的函数,也可以是程序块或子程序,内涵十分丰富。每个函数建立一个同名的M文件,如上述函数的文件名为fun.m。这种文件简单、短小、高效,并且便于调试。,4.简便的绘图功能 MATLAB具有二维和三维绘图功能,使用方法十分简便。而且用户可以根据需要在坐标图上加标题。坐标轴标记。文本注释及栅格等,也可以指定图线形式(如实线、虚线等)和颜色,也可以在同一张图上画不同函数的曲线,对于曲面图还可以画出等高线。 5.丰富的工具箱 由于MATLAB的开放性,许多领域的专家都为MATLAB编写了各种程序工具箱。 这些工具箱提供了用户在特别应用领域所需的许多函数,这使得用户不必花

4、大量的时间编写程序就可以直接调用这些函数,达到事半功倍的效果。,第二章 MATLAB基本语法,2.1 变量及其赋值(1)标识符与数 标识符是标识变量名、常量名、函数名和文件名的字符串的总称。标识符可以是英文字母、数字和下划线等符号。标识符第1个字符必须是英文字母,MATLAB对大、小写敏感。 MATLAB只有一种数据格式,双精度(即64位)二进制,对应于十进制16位有效数和308次幂。,(2)矩阵及其元素的赋值变量=表达式(数),a=1 2 3; 4 5 6;7 8 9x=-1.3 sqrt(3) (1+2+3)/5*4x(5)=abs(x(1)a(4,3)=6.5a = 1.0000 2.0

5、000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 0 0 6.5000,元素之间用逗号、空格分开。不同行以分号隔开。语句结尾用回车或逗号,会显示结果,如果不想显示结果,用分号。 元素用()中的数字(下标)来注明,一维用一个下标,二维用两个下标,逗号分开。,a(5,:)=5,4,3b=a(2,3,1,3)a(2,4,5, : )=a/7,如果赋值元素的下标超过原来矩阵的大小,矩阵的行列会自动扩展。 全行赋值,用冒号。 提取交点元素; 抽取某行元素用空矩阵。,(4)变量检查,whowhosinfNaN,检查工作空间中的变量; 检查变量的详细特

6、征 无穷大 1/0; 非数(Not a Number) 0/0 inf/inf 0*inf。 系统不停止运算,结果仍为inf或NaN。,(5)基本赋值矩阵f1=ones(3,2)f2=zeros(2,3)f4=eye(2),全1矩阵 全0矩阵 单位矩阵是nn阶的方阵。对角线上元素为1。,2.2 矩阵的初等运算(3_3计应1、2)(1)矩阵的加减乘法i. 加、减法:相加减的两矩阵阶数必须相同,对应元素相加减。,n,m=size(fb2)x=-1 0 1; y=x-1y = -2 -1 0,语句size检查矩阵阶数,两矩阵相加,阶数必须相同。 两相加减的矩阵中有一个是标量时,MATLAB将标量扩展

7、成同等元素矩阵,与另一矩阵相加减。,(4)矩阵结构形式的提取与变换,A=8 1 6 0; 3 5 7 1; 4 9 2 2B1=fliplr(A)B2=flipud(A)B3=reshape(A,2,6),提取矩阵中某些特殊结构的元素, 组成新的矩阵,改变矩阵结构。 fliplr矩阵左右翻转 flipud矩阵上下翻转 reshape阶数重组(元素总数不变),B8=A(: ),将元素按列取出排成一列,A = 8 1 6 0 3 5 7 1 4 9 2 2B1=fliplr(A)B1 = 0 6 1 8 1 7 5 3 2 2 9 4B2=flipud(A)B2 = 4 9 2 2 3 5 7 1

8、 8 1 6 0B3=reshape(A,2,6)B3 = 8 4 5 6 2 1 3 1 9 7 0 2,B4=rot90(A)B4 = 0 1 2 6 7 2 1 5 9 8 3 4B5=diag(A)B5 = 8 5 2B6=tril(A)B6 = 8 0 0 0 3 5 0 0 4 9 2 0B7=triu(A)B7 = 8 1 6 0 0 5 7 1 0 0 2 2B8=A(: ) B8 =8 3 4 1 5 9 6 7 2 0 1 2,2.3 元素群运算(1)数组及其赋值数组是单行或单列的矩阵,一个N阶的数组可以表述为一个N组向量。,t=0 : 0.02 : 1z=10 : -3:

9、 -5k=1 : 6,用两个冒号组成等增量语句格式:t=初值:增量:终值增量也可以设为负值,此时初值要比终值大增量为1时,增量值可以省略。,(2)元素群的四则运算和幂次运算 元素群的运算是矩阵中所有元素按单个元素运算。运算符前加.号,表示元素群运算。 元素群的运算的两个矩阵必须是同阶的。(标量会自动扩展为同阶矩阵参与运算),x=1, 2, 3y=4, 5, 6z=x.*yz=x.yz=x.yz=x.2,z =4 10 18 x*y不能成立z =4.0 2.5 2.0 元素群没有左除右除之分z =1 32 729 xy 能成立吗?z =1 4 9 x2能成立吗?,(3)元素群的函数 除矩阵运算的

10、乘、右除、左除、幂指数( / )、sqrtm、expm、logm函数外,基本函数库中的常用函数都可用于元素群运算。自变量可以是任意阶的矩阵。 基本函数库(elfun),x=0: 0.1: pi/4x = 0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 0.7000disp(显示 x sin(x) cos(x) tan(x)disp(x, sin(x) cos(x) tan(x),显示 x sin(x) cos(x) tan(x) 0 0 1.0000 0 0.1000 0.0998 0.9950 0.1003 0.2000 0.1987 0.9801 0

11、.2027 0.3000 0.2955 0.9553 0.3093 0.4000 0.3894 0.9211 0.4228 0.5000 0.4794 0.8776 0.5463 0.6000 0.5646 0.8253 0.6841 0.7000 0.6442 0.7648 0.8423,2.4 逻辑判断及流程控制 1. 关系运算,a= 2+2=4a=(2+2=4)a=(33)a=(34),等于a = 1a = 1小于a = 1 a = 0小于等于a = 1a = 0大于a =1a =0,a=(4=3)a=(3=4)a=(3=4)A=magic(6)rem(A,3)p=(rem(A, 3)=

12、0)lp=find (p),大于等于a=1a=0不等于a=1魔方矩阵,每行、每列、对角线的元素之和=(n3+n)/2A整除3,求余数余数为0,是真,即整除找出p矩阵中不为零元素的序号,矩阵元素是按列排序号的。,A=magic(6)A =35 1 6 26 19 24 3 32 7 21 23 25 31 9 2 22 27 20 8 28 33 17 10 15 30 5 34 12 14 16 4 36 29 13 18 11,rem(A,3)ans = 2 1 0 2 1 0 0 2 1 0 2 1 1 0 2 1 0 2 2 1 0 2 1 0 0 2 1 0 2 1 1 0 2 1 0

13、 2,p=(rem(A, 3)=0)p =0 0 1 0 0 1 1 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1 1 0 0 1 0 0 0 1 0 0 1 0,lp=find (p) lp=2 5 9 12 13 16 20 23 27 30 31 34,矩阵元素的序号排法: nm阵中下标为(j,k)的元素序号为 l=(k-1)*n+j,数学及逻辑运算符号,逻辑字符检查,位运算,集合运算,2. 逻辑运算,A=0 0 1 1B=0 1 0 1A&BA|BAxor(A, B),将逻辑运算用于元素群,得出同阶的0-1矩阵。与或非异或,3. 流程控制语句(1)if语句if (

14、表达式) 语句组A,endif (表达式1) 语句组A,else 语句组B,endif (表达式1) 语句组A,elseif (表达式2) 语句组B,else 语句组C,end,n=input( n=), if rem(n, 2)=0 a=even, else a=odd, end n = 7 a =odd; n = 8 a =even n = a =odd n=input( n=), if isempty(n)=1 a=empty, elseif rem(n,2)=0 a=even, else a=odd, end n = a =empty,输入数n,判断奇偶性。如果用户没有键入数就回车,程

15、序会判断为odd。 修改为用户无输入时程序自动中止。,(2)while语句while (表达式) 语句组A,end,y=1; while 1+y1, y1=y y=y/2; end, y1 y1 =2.2204e-016,求MATLAB相对精度,y不断减小,直至MATLAB分不出1+y与1的差别为止。,(3) for语句for k= 初值:增量:终值 语句组A,end将语句组A反复执行N次,每次执行时程序中的k值不同。N=1+(终值-初值)/增量,用for语句求三角函数表for x=0: 0.1: pi/4 disp(x, sin(x), cos(x), tan(x), end运行结果 x s

16、in(x) cos(x) tan(x) 0 0 1 0 1/10 839/8404 1195/1201 1499/14940 1/5 209/1052 295/301 374/1845 3/10 409/1384 1647/1724 275/889 2/5 368/945 2882/3129 1777/4203 1/2 501/1045 1699/1936 820/1501 3/5 1153/2042 430/521 979/1431 7/10 947/1470 992/1297 486/577,break, continue 1、两种语句一般应在循环语句中。 2、break 是中止循环的命令

17、,在多重循环中,break只能使程序跳出包含它的最内部的那个循环。 3、 continue 是中止本次循环,执行下一次循环。,(4)switch语句,switch-case-otherwiseswitch 表达式(标量或字符串)case 值1语句组ACase 值2语句组B.Otherwise语句组Nend,当表达式的值(或字符串)与某case语句中的值(或字符串)相同时,它就执行该case语句后的语句组,然后跳到终点的end。 case语句可以有N-1个,如果没有任何一个case值能与表达式值相符,则执行otherwise后面的语句组N。,n=input( n=), switch mod(n,

18、2), case 1, a=奇, case 0, a=偶, otherwise, a=空, endn = 5 a =奇n=input( n=), switch rem(n,2), case 1, a=奇, case 0, a=偶, otherwise, a=空, end n = 8 a =偶,判断输入数n的奇、偶、空的程序mod(x,m)x整除m取正余数,rem(a,b) a整除b,求余数n= 负数 n = -5 a =奇n=-8a =偶,2.5 M文件、M函数及程序调试M文件是文本文件,扩展名*.m。(example.m)可以用任何编辑器来建立,可直接阅读。MATLAB程序可直接调用M文件并

19、执行。M文件分为两种:一种是主程序,为用户解决特定的问题编制的;一种是子程序,函数文件,必须由其他M文件来调用,函数文件可以递归调用(自己调用自己)。MATLAB软件的大部分功能是来自其建立的函数集。1主程序文件主程序文件格式特征:(1)用clear 、close all等语句开始,清除原有的变量和图形。注释行以%号开始,增加可读性。MATLAB不执行%号后面的任何内容。在键入“help 文件名example.m”时,屏幕会显示以%号起始的行的内容,注释可以是汉字的。,(2)程序的主体全局变量:在子程序中和主程序中共用的变量。应在程序的起始部分注明。全局变量语句:global 变量名1 变量名

20、2 程序必须用半角英文字母和符号编制(包括标点符号),只有%号后面的注释可以用中文。要注意流程控制语句的缩进及与end的对应关系。选项可以自动对程序进行缩进排版。元素之间用逗号、空格分开。不同行以分号隔开。语句结尾用回车或逗号,会显示结果,如果不想显示结果,用分号。 (3)M文件的文件名、路径名不能用中文,要按MATLAB的标识符编制,因为M文件也就是MATLAB的调用命令。在MATLAB的命令窗键入程序的M文件名后,系统就开始执行M文件中的程序。,例1列出一个求fibonnaci数的程序,它是一个数列,从1,1开始,由数列的最后两个元素之和生成新的元素,依次递推。%计算fibonnaci数的

21、M文件clear,close allN=input(输入最大数值范围 N=) f=1,1; i=1; %变量的初始化while f(i)+f(i+1)N %循环条件检验f(i+2)=f(i+1)+f(i); i=i+1; %求fibonnaci数的算式endf,plot(f) %显示和绘图输入最大数值范围 N=20N = 20f = 1 1 2 3 5 8 13将程序以文件名fibon.m存入一MATLAB搜索目录下,在MATLAB命令窗中键入fibon,即可执行。,例2求素数的程序。只能被自身和1除净的数。%求素数(prime number)的程序clear, close allN=inpu

22、t(N=), x=2:N;for u=2:sqrt(N) n=find (rem(x, u)=0 end, x N = 44x =2 3 5 7 11 13 17 19 23 29 31 37 41 43,人机交互命令:echo on(off) 在执行M文件每行程序前先显示其内容。pause(n) 程序执行到此,暂停n秒,再继续。keyboard程序执行到此暂停,在屏幕上显示字符K,用户可以在命令窗进行任何操作,键入字符串return,恢复运行原来的程序。input(提示符) 程序执行到此暂停,屏幕显示引号中的字符串,要求用户输入数据。数据输入后,程序继续运行。c (control-c) 强行

23、停止程序运行的命令。menu 用来产生人际交互的备选择菜单的命令。,2函数文件 函数文件是用来定义子程序的。与主程序文件的主要区别有3点:(1)由function起头,后面跟的函数名,函数名必须与文件名相同。(2)有输入输出变元(变量),可以进行变量传递。(3)除非用global声明,程序中的变量均为局部变量,不保存在工作空间中。例3函数文件mean.m function y=mean(x) %文件的第一条语句定义了函数名、输入变元及输出变元。(这条语句可以区分程序文件和函数文件)输入变元、输出变元可以有若干个,必须在第一条语句中列出。%MEAN求平均值。对于向量, mean(x)返回该向量x

24、中各元素的平均值% 对于矩阵,mean(x)是一个包含各列元素平均值的行向量m, n=size (x); %变量m,n和y都是函数mean的局部变量,当mean文件执行完毕,这些变量值会自动消失,不保存在工作空间中。如果在执行该文件前,工作空间中已有同名的变量,系统会把两者看作各自无关的变量。如果希望将两者看作同一变量,则必须在主程序和子程序中都加入global语句,对此共同变量进行声明。 If m=1 M=n; end %处理单行向量y=sum(x)/m,程序调试主程序不需要专门的调试命令,需要用调试命令的主要是函数程序。因为函数程序出错停机时,变量不能保存,无现场记录。会给调试带来很大困难,解决方法:(1)把某些分号改为逗号,使中间结果能显示在屏幕上,作为查错依据。(2)在子程序中适当部位加keyboard命令。系统会暂停,等待用户键入命令。这时子程序的变量还存在于工作空间中,可以对它们进行检查。(3)将函数文件的第一行加%号,成为程序文件,进行初步调试。第一行中的输入变元,可改用input或赋值语句来输入,调好后再改回函数文件。(4)使用MATLAB提供的调试命令。调试命令较繁琐,不作介绍。,END!,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号