第2章-matlab数值计算功能共84页文档课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第2章-matlab数值计算功能共84页文档课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 数值 计算 功能 84 文档 课件
- 资源描述:
-
1、2.1 变量及其赋值变量及其赋值2.1.1变量变量3. MATLAB严格区分大小写字母,因此,严格区分大小写字母,因此,A和和a是不同是不同的变量。的变量。MATLAB的内定变量见表的内定变量见表2 - 1像任何其他计算机语言一样,像任何其他计算机语言一样,MATLAB 也是使用变量也是使用变量来保存信息的。变量由变量名表示,变量的命名应遵来保存信息的。变量由变量名表示,变量的命名应遵循如下规则:循如下规则: 1变量名必须以字母开头;由字母、数字和下划线变量名必须以字母开头;由字母、数字和下划线混合组成;不允许使用空格、标点符号;混合组成;不允许使用空格、标点符号; 2变量名的字符长度不应超过
2、变量名的字符长度不应超过31个(对于个(对于6.x版本);版本); 4关键字(如关键字(如 if,while 等)不能作为变量名。等)不能作为变量名。 eps 容差变量,定义为容差变量,定义为1.0到最近浮点数的到最近浮点数的距离距离,在在 pc机上机上= 2-52 pi 圆周率圆周率 的近似值的近似值3.1415926 inf或或Inf 表示正无大表示正无大,定义为定义为1/0 NaN 非数,它产生于非数,它产生于0 ,0/0, / 等等运算运算 i,j 虚数单位虚数单位 ans 对于未赋值运算结果,自动赋给对于未赋值运算结果,自动赋给ans永久变量永久变量2.1.2、 MATLAB 的语句
3、的语句 1.百分号(注释符)百分号(注释符)% 与其它程序语言一样,为了方便其他人及日与其它程序语言一样,为了方便其他人及日后自己对程序的阅读,增加程序的可读性,需要后自己对程序的阅读,增加程序的可读性,需要在在MATLAB文件中加入注释。注释行必须以文件中加入注释。注释行必须以%号号开始,执行文件时,开始,执行文件时,%号后面的语句不予执行。号后面的语句不予执行。2.逗号和分号逗号和分号 在赋值语句中,逗号(空格)用在同一行中各在赋值语句中,逗号(空格)用在同一行中各元素之间,分号用在行与行之间。多条语句放在一元素之间,分号用在行与行之间。多条语句放在一行,用行,用逗号逗号分开表示分开表示要
4、求要求显示结果,由显示结果,由分号分号分开表分开表示示不要求不要求显示结果。显示结果。3.续行标志(续行标志() 当一条语句或矩阵太长,一行显示不下时,可用当一条语句或矩阵太长,一行显示不下时,可用续行标志续行标志,另起一行继续完成该条语句的书写。,另起一行继续完成该条语句的书写。2.1.3 矩阵及其元素的赋值矩阵及其元素的赋值矩阵是矩阵是 MATLAB 进行数据处理的基本单元,进行数据处理的基本单元,MATLAB 的大部分运算都是在矩阵的意义上进行的,矩阵运算也的大部分运算都是在矩阵的意义上进行的,矩阵运算也是是 MATLAB 最重要的运算。赋值就是把数赋予代表常最重要的运算。赋值就是把数赋
5、予代表常量或变量的标识符。量或变量的标识符。 MATLAB中的变量或常量都代表中的变量或常量都代表矩阵,标量应看作是矩阵,标量应看作是11阶的矩阵。阶的矩阵。 矩阵的创建可以通过以下几种形式:矩阵的创建可以通过以下几种形式:(1)直接列出元素形式;)直接列出元素形式;(2)通过语句和函数产生;)通过语句和函数产生;(3)从外部文件装入;)从外部文件装入;(4)建立在)建立在M文件中。文件中。1、直接输入矩阵:、直接输入矩阵:例如输入语句例如输入语句a=1 2 3;4 5 6;7 8 9a= 1 2 3 4 5 6 7 8 9显示的结果为:显示的结果为:对于较小的简单矩阵,从键盘上直接输入矩阵时
6、最常对于较小的简单矩阵,从键盘上直接输入矩阵时最常用、最方便和最好的数值矩阵创建方法。创建矩阵的用、最方便和最好的数值矩阵创建方法。创建矩阵的基本原则:基本原则:矩阵的所有元素必须放在方括号矩阵的所有元素必须放在方括号“ ”内;内;矩阵元素之间必须用逗号矩阵元素之间必须用逗号“,”或空格隔开;或空格隔开;矩阵行与行之间用分号矩阵行与行之间用分号“;”或回车符隔开;或回车符隔开;矩阵元素可以是数字或任何不含未定义变量的表达式。矩阵元素可以是数字或任何不含未定义变量的表达式。矩阵里的元素也可以用表达式代替,例如输入矩阵里的元素也可以用表达式代替,例如输入X=-1.3,sqrt(3),(1+2+3)
7、/5*4X= -1.3000 1.7321 4.8000显示结果显示结果矩阵里的元素还可以是矩阵里的元素还可以是复数,复数用内定变量复数,复数用内定变量i,j表示表示2、由函数创建和修改矩阵:、由函数创建和修改矩阵:MATLAB提供用于创建某些特殊矩阵的函数提供用于创建某些特殊矩阵的函数A= 创建空矩阵创建空矩阵注意空矩阵与零矩阵的差别注意空矩阵与零矩阵的差别 eye(n) 单位矩阵单位矩阵, nn阶的方阵阶的方阵 zeros(m,n) 元素全为零的元素全为零的mn阶阶矩阵矩阵 ones(m,n) 元素全为元素全为 1 的的mn矩阵矩阵 rand(m,n) 元素为在元素为在0,1上均匀分布的上
8、均匀分布的mn随机矩阵随机矩阵 randn(m,n) 元素为标准正态分布的元素为标准正态分布的mn随机矩阵随机矩阵 magic(n) 魔方矩阵,其特点是元素由魔方矩阵,其特点是元素由1到到n2的自然数的自然数组成,每行、每列及两对角线上的元素之和均等于组成,每行、每列及两对角线上的元素之和均等于(n3+n)/2以上命令以上命令可以可以只有一个参数,生成的是方阵只有一个参数,生成的是方阵常用创建矩阵函数常用创建矩阵函数3、从外部数据文件调入矩阵:、从外部数据文件调入矩阵:在在MATLAB中,还可以从外部文件读入数据生成矩阵。中,还可以从外部文件读入数据生成矩阵。这些文件可以是存储这些文件可以是存
9、储Matlab已经生成的矩阵二进制文已经生成的矩阵二进制文件,也可以是包含数值数据的文本文件。在文本文件件,也可以是包含数值数据的文本文件。在文本文件中,数据必须排成一个矩阵表,数据之间用用空格分中,数据必须排成一个矩阵表,数据之间用用空格分隔,每行包含矩阵的一行。保存文件时,文件名后缀隔,每行包含矩阵的一行。保存文件时,文件名后缀为为.dat例如:例如:有文本文件有文本文件mydata.txt,将后缀改为,将后缀改为.dat,在命,在命令窗口输入:令窗口输入:load mydata.dat %把文件中的内容调入到工作空间中把文件中的内容调入到工作空间中mydata %显示变量显示变量myda
10、ta4、利用、利用M文件中的函数生成矩阵文件中的函数生成矩阵高维矩阵的创建(简单了解)高维矩阵的创建(简单了解)1.通过全下标元素赋值方式通过全下标元素赋值方式 A=zeros(2,2)A = 0 0 0 0 A(2,2,2)=1A(:,:,1) = 0 0 0 0A(:,:,2) = 0 0 0 1 B(2,5,:)=1:3B(:,:,1) = 0 0 0 0 0 0 0 0 0 1B(:,:,2) = 0 0 0 0 0 0 0 0 0 2B(:,:,3) = 0 0 0 0 0 0 0 0 0 32.由若干个同样大小的低维数组合成由若干个同样大小的低维数组合成 C=ones(2,3);
11、C(:,:,2)=ones(2,3)*2; C(:,:,3)=ones(2,3)*3C(:,:,1) = 1 1 1 1 1 1C(:,:,2) = 2 2 2 2 2 2C(:,:,3) = 3 3 3 3 3 33. 由由ones、zeros等函数直接创建等函数直接创建同样的方法还可以创建同样的方法还可以创建4维维等更高维的数组。等更高维的数组。2.1.4 向量的生成向量的生成在在MATLAB中数组可以看成是行向量,即只有一行或中数组可以看成是行向量,即只有一行或一列的矩阵。前面介绍的所有矩阵的建立和保存的方一列的矩阵。前面介绍的所有矩阵的建立和保存的方法,对向量同样适用,这里不再重复。同
12、时,介绍法,对向量同样适用,这里不再重复。同时,介绍matlab中创建向量的特殊命令。中创建向量的特殊命令。1.利用冒号利用冒号“:”创建等差数列:创建等差数列:t=初值:增量:终值初值:增量:终值其中其中 “增量增量”是可以省略的,省略时,默认的增量步是可以省略的,省略时,默认的增量步长为长为1。增量也可以是。增量也可以是负值,负值,但此时,初值应该但此时,初值应该大于大于终终值。值。例如:例如:x=1:5; y=0:pi/4:2*pi; z=6:-1:0;2.利用函数利用函数linspace和和logspace创建向量:创建向量:linspace 函数,创建指定长度的等距向量函数,创建指定
13、长度的等距向量例:例:k=linspace(-pi,pi,4)t=linspace(初值初值d1,终值,终值d2,点数,点数n)logspace 函数,创建对数等距的向量函数,创建对数等距的向量y=logspace(d1,d2) y=logspace(d1,d2,N)意义为:从意义为:从10的的d1次幂到次幂到d2次幂之间按等比级数等分次幂之间按等比级数等分为为N个点,个点,N缺省时,默认为缺省时,默认为50。意义为:在线性空间上,行矢量的值从意义为:在线性空间上,行矢量的值从d1到到d2,数,数据个数据个数n,缺省时,缺省时n为为100。2.1.5 矩阵的下标矩阵的下标创建了矩阵之后,若要调
14、用矩阵里的元素,就要了解创建了矩阵之后,若要调用矩阵里的元素,就要了解单个元素标志和寻访的单个元素标志和寻访的3种方式:种方式:1.“全下标全下标”标志标志即指出即指出“第几行第几列第几行第几列”的元素。优点是:几何概念的元素。优点是:几何概念清楚,引述简单。清楚,引述简单。 “全下标全下标”标志由标志由行下标行下标和和列下标列下标组成,例如:组成,例如:A(3,5)标志矩阵标志矩阵A的第的第3行第行第5列元素。列元素。2.“单下标单下标”标志标志单下标是只用一个下标来指明元素在数组中的位置。单下标是只用一个下标来指明元素在数组中的位置。matlab在存储矩阵时,将所有元素按一维进行编号,即在
15、存储矩阵时,将所有元素按一维进行编号,即把矩阵所有把矩阵所有列列,按照,按照先左后右先左后右的次序排成一维长列,然的次序排成一维长列,然后按照自上而下对元素位置进行编号。后按照自上而下对元素位置进行编号。全下标和单下标的转换:全下标和单下标的转换:sub2ind(size(A),m,n) 将矩阵将矩阵A的第的第m行第行第n列的下标列的下标转换成单下标;转换成单下标;a,b=ind2sub(size(A),p) 将矩阵将矩阵A中编号为中编号为p的单下标的单下标转换成全下标;转换成全下标;3.“逻辑逻辑1”标志标志在实际运用中,经常会碰到诸如寻找矩阵中所有大于某在实际运用中,经常会碰到诸如寻找矩阵
16、中所有大于某值的问题。此时值的问题。此时“逻辑逻辑1”标志就特别得心应手。标志就特别得心应手。X=A(L)其中其中L是与是与A维数相同的逻辑值数组,通过维数相同的逻辑值数组,通过L中,逻辑中,逻辑1所在的位置,指示所在的位置,指示A元素的位置。元素的位置。41016282947757150345423131303A)12()3 , 2(AA或)3 , 2,5 , 4()3:2 , 5:4(AA或)25:21()5(:,)5 , 5:1 (AAA)4 , 1 ,3 , 1(A例:例:例例找出数组找出数组A=-4 -2 0 2 4-3 -1 1 3 5中所有绝对值大于中所有绝对值大于3的元素的元素
17、A=-4,-2,0,2,4;-3,-1,1,3,5; %创建矩阵创建矩阵AL=abs(A)3 %建立矩阵建立矩阵Lislogical(L) %判断判断L中是否有逻辑中是否有逻辑1X=A(L) %指出指出A中绝对值大于中绝对值大于3的元素的元素其它赋值方式其它赋值方式用户可以利用用户可以利用下标下标给某元素单独赋值。如果赋值元素的给某元素单独赋值。如果赋值元素的下标超出了原来矩阵的大小,矩阵的行列会自动扩展,下标超出了原来矩阵的大小,矩阵的行列会自动扩展,跳空的元素被自动赋值跳空的元素被自动赋值0。 这种自动扩展维数的功能只适用于赋值语句这种自动扩展维数的功能只适用于赋值语句例例A=-4 -2
18、0 2 4-3 -1 1 3 5A(2,3)=10A= -4 -2 0 2 4 -3 -1 10 3 5 A(3,3)=10A= -4 -2 0 2 4 -3 -1 1 3 5 0 0 10 0 0给全行、全列赋值,可用冒号给全行、全列赋值,可用冒号“:”例:例:a(5,:)=5,4,3;把把a的第的第2,4行及第行及第1,3列交点上的元素取出,列交点上的元素取出,构成一个新的矩阵。构成一个新的矩阵。例:例:b=a(2,4,1,3);利用空矩阵利用空矩阵“ ”,可抽去,可抽去a中的任意行中的任意行例:例:a(2,4,:)= ;“空矩阵空矩阵”是指没有元素的矩阵,不是零矩阵。对任何是指没有元素的
19、矩阵,不是零矩阵。对任何一个矩阵赋值一个矩阵赋值 ,就是使它的元素都消失。,就是使它的元素都消失。例例利用单下标创建矩阵利用单下标创建矩阵A=zeros(2,5); %创建创建25的零矩阵的零矩阵A(:)=-4:5 %修改矩阵给编号从修改矩阵给编号从110的的元素分别赋值,元素分别赋值, 大小从大小从-4按步长按步长1一直增加到一直增加到5 A= -4 -2 0 2 4 -3 -1 1 3 5 2.1.6 复数表示复数表示MATLAB的每一个元素都可以是复数,实数是复数的每一个元素都可以是复数,实数是复数的特例。复数的虚部用的特例。复数的虚部用i或或j表示。表示。对复数有两种赋值方法:对复数有
20、两种赋值方法: 1.将其元素逐个赋予复数将其元素逐个赋予复数 2.将其实部和虚部矩阵分别赋值将其实部和虚部矩阵分别赋值如如z=1,3;5,7+2,4;6,8*i (*号不能省略)号不能省略)如如 z=1+2i,3+4i;5+6i,7+8i若在前面程序中曾经给若在前面程序中曾经给i或或j赋过值,则赋过值,则i或或j就不再是虚就不再是虚数单位,此时应把赋值的数单位,此时应把赋值的i或或j清除再执行虚数赋值语清除再执行虚数赋值语句。句。2.2 MATLAB的基本管理命令的基本管理命令2.2.1 save与与load命令(变量的存储与下载)命令(变量的存储与下载) save filename a b
21、c 把把a、b、c三个变量保存在文件名为三个变量保存在文件名为filename.mat的文件中。的文件中。利用利用save和和load命令实现数据文件存取是所有命令实现数据文件存取是所有MATLAB版本采用的基本操作方法。具体格式有:版本采用的基本操作方法。具体格式有:save filename 把全部内存变量保存为把全部内存变量保存为filename.mat文件。文件。若文件名省略,默认文件名为若文件名省略,默认文件名为matlab。save filename a b c append 把把a、b、c三个变量追加到三个变量追加到文件名为文件名为filename.mat的文件中。的文件中。在在
22、MATLAB中,第二次再用中,第二次再用save命令时,如果仍用默认命令时,如果仍用默认文件名,则原来的数据就被冲掉文件名,则原来的数据就被冲掉也可利用菜单保存变量也可利用菜单保存变量【File】Save Workspace As菜单命令会打开一个标准的文件对话框,与菜单命令会打开一个标准的文件对话框,与windows操作基本一样,此时会保存工作空间里所有的变量,操作基本一样,此时会保存工作空间里所有的变量,不能选择。不能选择。load是是save的逆过程,它把磁盘上存储的的逆过程,它把磁盘上存储的mat数据取回到数据取回到MATLAB的工作空间中。默认的文件名也是的工作空间中。默认的文件名也
23、是matlab.mat。在不用默认文件时,命令格式与在不用默认文件时,命令格式与save相似。相似。loadLoading from: matlab.mat当要提取文件中某些变量时,文件名不能省略。当要提取文件中某些变量时,文件名不能省略。例如:例如:load A 提取文件提取文件matlab中的中的A变量变量? Error using = loadUnable to read file A: No such file or directory.2.2.2 clear命令(变量的删除)命令(变量的删除)Matlab中内存变量的删除可以通过在指令窗口中运行中内存变量的删除可以通过在指令窗口中运行
24、clear来进行。来进行。clear操作通常有两种方式:操作通常有两种方式:clear 清除当前工作空间中的全部变量清除当前工作空间中的全部变量clear a b c 清除当前工作空间中的变量清除当前工作空间中的变量a、b、c被清除的变量之间只能用空格,不能用逗号或分号。被清除的变量之间只能用空格,不能用逗号或分号。因为在一条指令中,逗号和分号都表示该指令结束,因为在一条指令中,逗号和分号都表示该指令结束,不同的是逗号结束的指令要显示运算结果,而分号结不同的是逗号结束的指令要显示运算结果,而分号结束的指令不显示执行结果。束的指令不显示执行结果。a=1;b=2;c=3;clear a,b;cc=
25、 3bb= 2a? Undefined function or variable a.例例 用用clear命令时,系统不会给出确认提示,一旦命令时,系统不会给出确认提示,一旦删除将不能恢复。删除将不能恢复。2.2.3 who和和whos命令(变量信息的查询)命令(变量信息的查询)在调试程序的时候,往往需要检查工作空间中的变量在调试程序的时候,往往需要检查工作空间中的变量及其阶数。这时需要用到及其阶数。这时需要用到who和和whos命令。命令。who命令命令用于查看工作空间都有哪些变量名;用于查看工作空间都有哪些变量名;whos命令用于了命令用于了解变量的具体细节。调用方式:解变量的具体细节。调
展开阅读全文