matlab入门教程课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《matlab入门教程课件.ppt》由用户(ziliao2023)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 入门教程 课件
- 资源描述:
-
1、MATLAB 数学建模基础教程数学建模基础教程主讲者:高陈燕主讲者:高陈燕MATLAB数学建模基础教程数学建模基础教程MATLAB的概述的概述MATLAB程序设计基础程序设计基础MATLAB在数值计算中的应用在数值计算中的应用MATLAB的符号计算的符号计算MATLAB的图形处理的图形处理MATLAB程序设计基础程序设计基础uMATLAB语言的基本要素uMATLAB语言的核心矩阵u单元型数据和结构型数据uM文件u流程控制语句2023年5月19日1时53分4MATLAB语言的基本要素语言的基本要素v变量变量 变量不需要事先声明,也不需要指定变量类型,它会自动根据所赋予变量的值或对变量的操作来确定
2、变量的类型;赋值过程中,如果变量已存在,则用新值代替旧值,以新的类型代替旧的类型。变量的命名规则:l变量名区分大小写;l变量名长度不超过31位,第31位之后的字符被忽略;l变量名以字母开头,变量名中可以包含字母、数字、下划线,但不能使用标点。变量一般为局部变量,即仅在其调用的M文件内部有效;若要定义全局变量,须在变量前加关键字global。Matlab语言主要是由几个基本要素构建而成的,其中包括变量、常量、数值、字符串、运算符及标点等。回到主目录回到主目录2023年5月19日1时53分5v常量常量 matlab中预定义的一些特殊的量。i,j 虚数单位 Realmin 最小的正浮点数,pi 圆周
3、率 Realmax 最大的浮点数,eps 浮点运算的相对精度 Inf 无穷大 NaN Not-a-Number,表示不定值 例如:pians=%ans是默认的结果变量 3.14161102221023252102023年5月19日1时53分61/0Warning:Divide by zero.ans=Inf0/0Warning:Divide by zero.ans=NaN2023年5月19日1时53分7 定义变量时应避免与常量名相同,如果改变了某个常量的值,可以用“clear+常量名”命令来恢复该常量的初始设定值。pi=1pi=1clear pipians=3.14162023年5月19日1时
4、53分8v数值数值 数值缺省为实数保留小数点后4位浮点数表示。其输入格式与C语言一致:如:9-73 0.1999 1.475e6 输出格式由format命令控制,只是影响屏幕显示效果,不影响内部存储和计算。下面以pi为例。format long;pians=3.14159265358979format long e;pians=3.141592653589793e+000format long g;pians=3.141592653589792023年5月19日1时53分9 z=2*exp(pi/3i)z=1.0000+1.7321iMatlab语言还提供了复数的表达和运算功能。复数的基本单位
5、表示为i或j。例如:如果是表达式,必须在虚部的数值与i、j之间使用乘号。sin(pi/3)+cos(pi/3)j?sin(pi/3)+cos(pi/3)j Error:Unexpected MATLAB expression.sin(pi/3)+cos(pi/3)*jans=0.8660+0.5000i2023年5月19日1时53分10v字符串字符串字符串用单引号输入或赋值;字符串的每个字符都是都是字符数组的一个元素;字符串和字符数组基本上等价。s=i love yous=i love you size(s)ans=1 10 s(2)ans=s(10)ans=u字符串的每个字符(包括空格)都是
6、字符数组的一个元素。在matlab中,字符串与字符数组或矩阵基本上是等价的。2023年5月19日1时53分11 如果在字符串内使用单引号时,可以用连续两个单引号表示。例如:字符串之间的转换函数:double 字符串转换为数值代码 num2str 数字转换为字符串 int2str 整数转换为字符串 mat2str 矩阵转换为字符串 str2num 转换字符串为数字 double(s)%s=i love youans=105 32 108 111 118 101 32 121 111 117 s=its goods=its good2023年5月19日1时53分12 a=1:5a=1 2 3 4
7、5 b=num2str(a)b=12 3 4 5 a*2ans=2 4 6 8 10 b*2ans=98 64 64 100 64 64 102 64 64 104 64 64 1062023年5月19日1时53分13 matlab对字符串的操作与C语言中的几乎完全相同:strcat 链结串 strcmp 比较串 strvcat 垂直链结串 strncmp 比较串的前n个字符 findstr 在其他串中找此串 upper 转换串为大写 lower 转换串为小写 blanks 生成空串 deblank 移去串中空格 例如:把前面的字符串s转化成大写。s=“it good”upper(s)ans=
8、ITS GOOD执行字符串的功能用eval来实现。t=1/(a*b-1);a=2;b=3;c=eval(t)%可以在一行中表示。c=0.20002023年5月19日1时53分14v运算符运算符 在matlab语言中运算符包括算术运算符、关系运算符和逻辑运算符。其中算术运算符见右表:其中点运算是指操作元素点对点的运算,也就是说矩阵内元素对元素之间的运算,点运算要求参与运算的变量在结构上必须是相似的。例如:操作符定义+算术加-算术减*算术乘.*点乘算术乘方.点乘方算术左除.点左除/算术右除./点右除2023年5月19日1时53分15 a=1,2,3;4,5,6;7,8,9a=1 2 3 4 5 6
9、 7 8 9 b=1 2 34 5 67 8 9b=1 2 3 4 5 6 7 8 9 c=a*bc=30 36 42 66 81 96 102 126 150 d=a.*bd=1 4 9 16 25 36 49 64 81思考:题目:通过描点法得到sin(x)xcos(x)函数在0-pi区间上的曲线。提示:通过点运算获得。(附件diancheng。txt)2023年5月19日1时53分16 Matlab语言的关系运算符如右表:当判断一个矩阵是否为空矩阵时,一般不用“=”,而应当使用函数isempty。操作符定义=等于=不等于大于=大于等于小于a=1:3;4:6;7:9;x=5;y=ones(
10、3)*5;xa=xb=0 1 0;1 0 1;0 0 1;ab=a&bab=0 1 0 1 0 1 0 0 1nb=bnb=1 0 1 0 1 0 1 1 02023年5月19日1时53分19a=magic(5);a(:,3)=zeros(5,1)a=17 24 0 8 15 23 5 0 14 16 4 6 0 20 22 10 12 0 21 3 11 18 0 2 9a1=all(a(:,1)a2=all(a3)a2=1 1 0 0 0a11=any(a(:,1)10)a11=1a22=any(a10)a22=1 1 0 1 12023年5月19日1时53分20v标点标点 在matlab
11、中一些标点符号也被赋以特殊的意义,或表示要进行一定的运算等,如下表:标点定义标点定义:冒号,具有多种应用功能续行符;区分行,及取消结果显示%注释标记,区分列,及函数参数分隔符等!调用操作系统运算()指定运算过程中的先后次序等 矩阵定义的标志等 用于构成单元数组等字符串的标示符2023年5月19日1时53分21 下面对上表中各标点作进一步的介绍。首先,用冒号来定义行向量。基本格式:xx1:step:x2(初始值:步长:尾元素数值限)xx1:x2(默认步长为1)注意注意:这里强调x2为尾元素数值限,而不是尾元素值。当x2-x1恰为步长的整数倍时,x2才能成为尾值。例如:2023年5月19日1时53
12、分22 a=1:2:12a=1 3 5 7 9 11 a=12:-2:1a=12 10 8 6 4 2 a=1:6a=1 2 3 4 5 6 a=2:2:12a=2 4 6 8 10 122023年5月19日1时53分23其次,通过使用冒号,可以截取指定矩阵中的部分。例如:a=1:18;a=reshape(a,3,6)%重组矩阵a=1 4 7 10 13 16 2 5 8 11 14 17 3 6 9 12 15 18 a1=a(:,1:3)%提取矩阵a的第1到3列元素组成的子矩阵。a1=1 4 7 2 5 8 3 6 9 a2=a(1:2,3:end)a2=7 10 13 16 8 11 1
13、4 17思考:B1=a(1:3,:)?2023年5月19日1时53分24 分号在matlab语言中所起的作用是作为分隔行的标志,这里包括在矩阵定义中对行的区分以及在程序代码中对行的划分。在矩阵定义中,分号之间的数据被认为是矩阵的同一行。对于以分号结尾的行语句,matlab语言不会把其运算结果显示在命令窗口中。逗号主要起两个作用。其一是逗号是函数参数的分隔符,也是矩阵下标的分隔符。其二是逗号也是区分矩阵列的标志,在同一行中,逗号分隔开的是各个列。括号是调整运算先后次序的标点,可以通过引用括号来调整运算次序。矩阵的定义需要使用中括号。此外,中括号可以表示空矩阵,并通过该空矩阵实现对矩阵的部分删除。
14、以下举例:2023年5月19日1时53分25 a=1,2,3,4;5,6,7,8;4,3,2,1;8,7,6,5a=1 2 3 4 5 6 7 8 4 3 2 1 8 7 6 5 a(:,1:2)=a=3 4 7 8 2 1 6 5 b=a(1 3,:)b=3 4 2 12023年5月19日1时53分26 大括号是单元型数据所特有的标点。后面介绍。小数点“.”,它起到了数学符号的作用;而作为点运算的标志符,它又构成了各种各样的点运算;最重要的是它可作为结构型数组应用时的专有符号。“”为matlab语言中的续行符,但是该续行符只能出现在各个语义群之间,也就是说不能出现在变量名之间,否则出错。例如
15、:a=sin(pi/4)+cos(pi/4)-tan(pi/4).+cot(pi/4)a=1.4142 a=sin(pi/4)+cos(pi/4)-t.an(pi/4)?an(pi/4)|Error:Unexpected MATLAB expression.2023年5月19日1时53分27 在matlab语言中,一行内在“%”之后的文字均被认为是对M文件或程序代码的解释部分。“!”可以在命令窗口直接调用操作系统命令,例如DOS命令,并将结果展示在命令窗口中,比如在命令窗口中调用“!dir c”,以显示C盘的文件列表。单引号作为字符串的标示符而存在,同时,它在矩阵运算中也表示矩阵的转置运算及复
16、数的共轭值。2023年5月19日1时53分28 a=1,2,3,4;5,6,7,8a=1 2 3 4 5 6 7 8 aans=1 5 2 6 3 7 4 8 s=3-4i;sans=3.0000+4.0000i回到主目录回到主目录2023年5月19日1时53分29MATLAB语言的核心语言的核心矩阵矩阵v矩阵的生成矩阵的生成l直接输入小矩阵(最简便的方法)直接输入小矩阵(最简便的方法)注意点:输入矩阵时要以“”为其标识,即矩阵的元素应在“”内部。矩阵的同行元素之间可由空格或“,”分隔,行与行之间用“;”或回车符分隔。矩阵元素可为运算表达式。无任何元素的空矩阵也合法。回到主目录回到主目录202
17、3年5月19日1时53分30矩阵987654321A的输入:A=1,2,3;4,5,6;7,8,9A=1 2 3 4 5 6 7 8 9a=1 2 34 5 67 8 9a=1 2 3 4 5 6 7 8 9创建带有运算表达式的矩阵:b=sin(pi/3),cos(pi/4);log(9),tan(pi/4);%什么样的结果?2023年5月19日1时53分31l利用中括号将小矩阵合成一个大矩阵利用中括号将小矩阵合成一个大矩阵 b=1,2;3,4;a=b,b;b2,b*3a=1 2 1 3 3 4 2 4 7 10 3 6 15 22 9 12l从外部文件引用矩阵(从外部文件引用矩阵(excel
18、,txt)(shuju1,shuju2)2023年5月19日1时53分32l特殊矩阵的生成特殊矩阵的生成常用的特殊矩阵常用的特殊矩阵 空 阵:单 位 阵:eye(m,n);eye(m)零 矩 阵:zeros(m,n);zeros(m)全 1 阵:ones(m,n);ones(m)对 角 阵:对角元素向量 V=a1,a2,an A=diag(V)随 机 阵:rand(m,n)产生一个mn的均匀分布的随机矩阵2023年5月19日1时53分33 eye(2,3)ans=1 0 0 0 1 0 zeros(2,3)ans=0 0 0 0 0 0 ones(2,3)ans=1 1 1 1 1 1v=5
19、6 7;a=diag(v)a=5 0 0 0 6 0 0 0 7 eye(2)ans=1 0 0 1 zeros(2)ans=0 0 0 0 ones(2)ans=1 1 1 1 如果已知a为方阵,则v=diag(a)可以提取a的对角元素构成向量v。2023年5月19日1时53分34其他特殊矩阵其他特殊矩阵 compan 友矩阵函数 magic 魔方矩阵 hankel Hankel矩阵 rosser 对称特征值测试矩阵 hilb Hilbert矩阵 pascal Pascal矩阵 invhilb 反Hilbert矩阵 vander 范德蒙矩阵 其中,compan(c),结果是生成一以向量c为系
20、数的多项式的特征矩阵。hilb所生成的hilbert矩阵的特点是矩阵中的元素值为1/(i+j-1)。2023年5月19日1时53分35单元型数据和结构型数据单元型数据和结构型数据l单元型变量单元型变量 单元型变量是matlab语言中较为特殊的一种数据类型。本质上讲,单元型变量为任意类型的多维数组。单元型变量可有两种方式:一种是用赋值语句直接定义,另一种是由cell函数预先分配存储空间,然后对单元元素逐个赋值。在直接赋值过程中,与在矩阵的定义中使用中括号不同,单元型变量的定义需用大括号,而元素间用逗号隔开。回到主目录回到主目录2023年5月19日1时53分36a=1,2;3,4a=1 2 3 4
21、b=1:4,a,abcdb=1x4 double 2x2 double abcdcellplot(b)%图形显示单元型变量的内容 celldisp(b)%显示单元型变量的内容b1=1 2 3 4b2=1 2 3 4 b3=abcdabcd2023年5月19日1时53分37 单元型变量元素的引用采用大括号为下标标识,用小括号只显示该元素的压缩形式。例如:b2ans=1 2 3 4b(2)ans=2x2 double注意:单元型变量的元素不是以指针方式保存的。思考:如果改变了上例中的a矩阵,那么单元型变量b中的第二个元素改变不?2023年5月19日1时53分38 单元型变量与矩阵的另一个区别是单元
22、型变量自身可以嵌套。例如:c=cell(1,3)%另一种定义法 c1,1=1:4;c1,2=a;c1,3=b;%b=1:4,a,abcd cc=1x4 double 2x2 double 1x3 cell c33ans=abcd2023年5月19日1时53分39l结构型变量结构型变量 在matlab语言中结构型变量的定义也有两种方法,其一是直接赋值定义,其二是由函数struct定义。以指针操作符“.”连接结构型变量名与属性名。直接赋值时,应当指出结构中的属性名。例如:A.a1=abcd;%字符串类型 A.a2=1;%数值类型 A.a3=1,2,3,4;%数组类型 AA=a1:abcd a2:1
23、 a3:1 2 3 4 思考思考:如何引用结构型变量名A中a1属性的c元素。2023年5月19日1时53分40 由函数struct定义结构型变量,其调用格式如下:结构型变量名=struct(元素名1,元素值1,元素2,元素值2,)B=1,2;3,4;C=struct(c1,1,c2,B,c3,abcd)C=c1:1 c2:2x2 double c3:abcd C.c2ans=1 2 3 42023年5月19日1时53分41 结构型变量可以嵌套定义。例如:C.c1=A%前面结构型变量AC=c1:1x1 struct c2:2x2 double c3:abcd C.c1.a1%嵌套结构型变量的引用
24、ans=abcd2023年5月19日1时53分42M文件文件 所谓M文件就是由matlab语言编写的可在matlab语言环境下运行的程序源代码文件。Matlab语言中的M文件可分为命令式(script)和函数式(function)两种形式。M文件可在matlab的程序编辑器中编写,也可在其他的文本编辑器中编写,并以“.m”为扩展名加以保存。v命令式文件命令式文件 命令式文件就是命令行的简单叠加,matlab会自动按顺序执行文件中的命令。值得注意的是,命令式文件在运行过程中可以调用matlab工作域内所有的数据,而且所产生的所有变量均为全局变量。回到主目录回到主目录2023年5月19日1时53分
25、43v函数式文件函数式文件 函数式文件主要用于解决计算中的参数传递和函数调用的问题。函数式的标志是它的第一行为function语句。函数式文件可以有返回值,也可以没有。函数式文件执行之后,只保留最后结果,不保留任何中间过程,所定义的变量也仅在函数内部起作用,并随着调用的结束而被清除。即除无特殊声明外,其变量均为局部变量。注意:存储函数式M文件时文件名要与主函数名相一致。2023年5月19日1时53分44函数式文件:function abcd(a,b)c=a+bd=b-a保存为abcd.m在工作窗口中调用:a=2;b=3,4,5,6;abcd(a,b)c=5 6 7 8d=1 2 3 4c%结果
展开阅读全文