收藏 分销(赏)

Matlab7.x教学.pptx

上传人:丰**** 文档编号:8005554 上传时间:2025-01-30 格式:PPTX 页数:59 大小:991.90KB 下载积分:14 金币
下载 相关 举报
Matlab7.x教学.pptx_第1页
第1页 / 共59页
Matlab7.x教学.pptx_第2页
第2页 / 共59页


点击查看更多>>
资源描述
,单击此处编辑母版标题样式,*,MALAB 7.X程序设计,*,/59,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第2章 MATLAB 运算基础(1),第2章 MATLAB 运算基础(1),1,MALAB 7.X程序设计,1/59,主要内容:,变量定义及赋值;,数值数组、字符串数组、元胞数组和构架数组等数据类型;,矩阵运算定义和规则;,数组运算定义和规则。,2,MALAB 7.X程序设计,2/59,1),矩阵:,由,mn,个数组成排成,m,行,n,列一个矩形数表,其中,00,矩阵为空矩阵,(),。数表中第,i(1,i,m),行第,j(1,j,n),列数据称为矩阵元素,2),标量:,11矩阵,即为只含一个数矩阵。,3),向量:,1n或n1矩阵,即只有一行或者一列矩阵。只有一行矩阵称为行向量,只有一列矩阵称为列向量。,数表中第i(1in,),个数据称为,向量,元素,。,4),数组:,矩阵延伸,普通指多维数组,其中标量、向量和矩阵都是数组特例。,2.1 概述,2.1.1 数据术语,3,MALAB 7.X程序设计,3/59,2.1.2 数据类型,数据类型包含,数值型、字符串型、元胞型、构架型,等。数值型有单精度型、双精度型和整数型。整数型有uint8,uint16,uint32和uint64等无符号型和int8,int16,int32和int64等符号型整数。,数值型数据能够用带小数点形式和科学计数法表示,数值表示范围是,1,0-309,10,+309,。,-20,、,1.25,、,2.88e-56(,表示,2.88,10,-56,),、,7.68e204(,表示,7.68,10,204,),都是正当数据表示。,。,普通在计算时,采取双精度型,在输出时有各种数值显示格式可供选择。,4,MALAB 7.X程序设计,4/59,数值显示格式设置经过,format,命令,格式以下:,format short,默认设置,以5位数字形式输出,format long,以15位十进制数形式输出,format short e,以5位十进制数加指数形式输出,format long e,以16位十进制数加指数形式输出,format short g,从format short和format short e,中自动选择最正确输出形式,5,MALAB 7.X程序设计,5/59,format long g,从format long和format long e,中自动选择最正确输出形式,format hex,以16位十六进制数形式输出,format+,以正号、负号和零形式输出,format bank,以两位小数形式输出,format rat,以近似分数形式输出,format loose,以稀疏格式(变量与执行结果之,间有空行)输出,format compact,以紧凑格式(变量与执行结果之,间无空行)输出,6,MALAB 7.X程序设计,6/59,2.2 变量,变量命名规则为:,1 变量名必须以字母开头,变量名组成能够是任意字母、数字或者下划线,但不能含有空格和标点符号。,2 关键字和函数名不能作为变量名。,3 变量名不能超出63个字符。,4 变量名区分字母大小写,即大小写敏感。,大小写是否区分能够经过命令casesen on/off进行切换(假如不区分大小写,为casesen off,不然为casesen on)。,2.2.1变量命名,7,MALAB 7.X程序设计,7/59,2.2.2变量赋值,变量赋值通常有,两种形式,:,1 变量=表示式,2 表示式,其中表示式是用运算符将相关运算量连接起来式子,其结果是一个数组。,形式1中,,=,代表是赋值操作,将表示式值赋给MATLAB变量;形式2中,将表示式值赋给MATLAB暂时变量ans。,8,MALAB 7.X程序设计,8/59,例2-1,在命令窗口输入下述语句,并按回车键执行,分别给变量a、b、c赋值:,a=1%a,为标量,b=0 1%b,为行向量,c=1 2;3 4;5 6%c,为矩阵即二维数组,9,MALAB 7.X程序设计,9/59,2.2.3 特殊变量,eps,MATLAB定义正极小值2.2204e-16,Realmax,最大正实数1.7977e+308,Realmin,最小正实数2.2251e-308,Pi,内建值,i,j,虚数单位i=j=-1,Inf,NaN,无法定义一个数目,Nargin,函数输入参数个数,Nargout,函数输出参数个数,Flops,浮点运算次数,10,MALAB 7.X程序设计,10/59,2.2.4内存变量管理,1 内存变量显示与删除,1)who,用于显示在MATLAB工作空间中已,经驻留变量名清单。,2)whos,在给出变量名同时,还给出它们,大小、所占字节数及数据类型等,信息。,3)clear,删除MATLAB工作空间中变量。注,意,特殊变量不能被删除,。,11,MALAB 7.X程序设计,11/59,例2-2,查询,例2-1中语句执行后,工作空间中 变量情况。,Name Size Bytes Class,a 1x1 8 double array,b 1x2 16 double array,c 3x2 48 double array,Grand total is 10 elements using 72 bytes,在命令窗口输入,执行结果为:,Your variables are:,a b c,在命令窗口输入,执行结果为:,who,whos,12,MALAB 7.X程序设计,12/59,2 工作空间浏览器,工作空间浏览器窗口用于,显示全部,MATLAB工作空间中变量名、数据结构、类型、大小和字节数,也能够对变量进行观察、编辑、提取和保留。,13,MALAB 7.X程序设计,13/59,3 内存变量文件,利用MAT文件能够把MATLAB工作空间中一些有用变量长久地保留下来。MAT文件生成和调入由save和load命令来完成,1)save格式为:,save 文件名 变量名表 -append-ascii,功效:,把工作空间中变量存入磁盘。其中变量名表指出需存放变量,append为数据填加方式,ascii为数据形式。,2)load格式为:,load 文件名 变量名表 -ascii,功效:,磁盘上存放mat数据文件取回到MATLAB工作空间中。参数含义同save。,14,MALAB 7.X程序设计,14/59,例2-3:,例2-1中语句执行后,在命令窗口 依次输入下述命令:,save,%,变量,a,,,b,和,c,保留在,matlab.mat,Save mydata1.mat,%,变量,a,,,b,和,c,保留在,mydata1.mat,save mydata2.mat a,%,变量,a,保留在,mydata2.mat,save mydata3.mat a b,%,变量,a,和,b,保留在,mydata3.mat,save mydata4.mat a b c,%,变量,a,,,b,和,c,保留在,mydata4.mat,15,MALAB 7.X程序设计,15/59,2.3 数值数组,2.3.1数值数组建立,1 赋值语句建立数组,矩阵建立能够经过赋值语句实现,赋值符号左边为变量名,右边为矩阵元素。矩阵元素应用方括号()括住,元素能够是数值或表示式元素,表示式能够由数字、变量、运算符和函数等组成。,矩阵同行内元素间用逗号或空格隔开,行与行之间用分号或回车键隔开。,16,MALAB 7.X程序设计,16/59,例2-4,在命令窗口输入语句:,a=1,2,3;4,5,6;7,8,9,按回车键,命令就被执行,在MATLAB命令窗中显示以下结果:,a=,1 2 3,4 5 6,7 8 9,假如在上述输入语句末尾加上分号,则在命令窗口不显示结果。,同理能够经过赋值语句建立向量。,17,MALAB 7.X程序设计,17/59,例,2-5,在命令窗口输入语句:,x=-1.3 1+2+3 sqrt(5),%sqrt,是求平方根函数,按回车键,指令被执行,MATLAB命令窗中显示以下结果:,x=,-1.3000 6.0000 2.2361,18,MALAB 7.X程序设计,18/59,例,2-6,在命令窗口输入下述语句,建立复数数组:,b=1+2*i,2+3*i;2-i,3-2*i,执行结果为:,b=,1.0000+2.0000i 2.0000+3.0000i,2.0000-1.0000i 3.0000-2.0000i,19,MALAB 7.X程序设计,19/59,elfun,函数库中提供一系列复数函数:,real,复数实数部分,real(b),imag,复数虚数部分,imag(b),abs,绝对值或模,abs(b),angle,幅角,angle(b),结果为弧度,angle(b)*180/pi,结果为角度,conj,共轭,conj(b),20,MALAB 7.X程序设计,20/59,2 简捷表示式,等间隔向量赋值能够经过简捷表示式实现。下面介绍两种为等间隔向量赋值方法:,1)两个冒号组成等增量语句,格式:t=初值:增量:终值,说明:,初值、增量和终值,分别表示开始值、步长和结束值。当增量可为负值,省略时则默认为增量为1;当增量省略或增量0而初值0时为空向量,当增量0而初值终值时也为空向量。,21,MALAB 7.X程序设计,21/59,例2-7,简捷表示式建立向量和矩阵,t1=0:0.02:1,%,产生0t11之间行向量,,间隔为0.02,t2=5:-1:2,%产生5t12之间行向 量,间隔为-1。,t4=2:-1:3,%建立空矩阵,t5=1:2:5;1:3:7,%建立矩阵,22,MALAB 7.X程序设计,22/59,2)使用linspace和logspace函数生成向量,linspace函数格式:,linspace(a,b,n),功效:,生成从a到b之间线性分布n个元素行向量。,logspace(a,b,n),功效:,生成从10,a,到10,b,之间按对数等分n个元素行向量。,logspace函数格式:,23,MALAB 7.X程序设计,23/59,例 2-8,用linspace和logspace函数生成向量,t1=linspace(0,2*pi,5),%从0到2*pi等分,成5个点,linspace(1,8,8),linspace(1,8,1),t2=logspace(0,2,3),%从1到100(即,10,0,到10,2,)按对数等分成3个点,24,MALAB 7.X程序设计,24/59,3 内建函数,1)通用特殊矩阵,函数库,elmat提供惯用通用特殊矩阵,生成函数,:,zeros,ones,eye,rand,25,MALAB 7.X程序设计,25/59,2)用于专门学科特殊矩阵,(1)魔方矩阵,magic(n),功效:,魔方矩阵元素由1到nn 自然数组成,其对角线上元素为1;每行、每列及对角线上元素之和均等于(n,3,+n)/2。魔方矩阵每行、每列及两条对角线上元素和都相等。对于n阶魔方阵,其元素由1,2,3,n,2,共n,2,个整数组成。,26,MALAB 7.X程序设计,26/59,例2-9,产生2阶和3阶魔方阵。,m1=magic(2),%,产生,2,阶魔方阵,m2=magic(3),%,产生,3,阶魔方阵,27,MALAB 7.X程序设计,27/59,(2)范得蒙矩阵,vander(V),生成以向量V为基础向量范得蒙矩阵,矩阵元素最终一列全为1,倒数第二列为一个指定向量,其它各列是其后列与倒数第二列点乘积。能够用一个指定向量生成一个范得蒙矩阵。,28,MALAB 7.X程序设计,28/59,例2-10,产生范得蒙矩阵。,v1=vander(1;2;3;5),v2=,vander(1:3),v3=,vander(1:4),29,MALAB 7.X程序设计,29/59,(3)希尔伯特矩阵,hilb(n),生成n阶希尔伯特矩阵,invhilb(n),求n阶希尔伯特矩阵逆,例2-11,求4阶希尔伯特矩阵及其逆矩阵。,format rat,%以有理形式输出,H=hilb(4),invH=invhilb(4),30,MALAB 7.X程序设计,30/59,(4)托普利兹矩阵,功效:,用向量x生成一个对称托普利兹矩阵。矩阵元素除第一行第一列外,其它每个元素都与左上角元素相同。,toeplitz(x,y),功效:,生成一个以x为第一列,y为第一行托普利兹矩阵。其中x,y均为向量,二者无须等长。,toeplitz(x),31,MALAB 7.X程序设计,31/59,例2-12,产生托普利兹矩阵。,T1=toeplitz(1:4),T2=toeplitz(1:3,3:6),32,MALAB 7.X程序设计,32/59,(5)伴随矩阵,compan(p),功效:,生成伴随矩阵,其中p是一个多项式系数向量,高次幂系数排在前,低次幂排在后。,例2-13,为了求多项式x,3,-7x+6伴随矩阵,可使用语句:,p=1,0,-7,6;c=compan(p),33,MALAB 7.X程序设计,33/59,(6)帕斯卡矩阵,n阶帕斯卡矩阵生成函数格式:,pascal(n),例2-14,求(x+y),4,展开式。,p1=pascal(4),p1=,1 1 1 1,1 2 3 4,1 3 6 10,1 4 10 20,由执行结果可知,矩阵次对角线上元素1,4,6,4,1即为展开式系数。,34,MALAB 7.X程序设计,34/59,(,7),哈达玛矩阵,n阶哈达玛矩阵生成函数格式:,hadamard(n),例2-15,求2阶和4阶哈达玛矩阵。,h1=hadamard(2),h2=hadamard(4),35,MALAB 7.X程序设计,35/59,4 经过,MAT数据文件加载矩阵,经过,load命令或选择菜单FileImport Data命令加载MAT数据文件来创建矩阵。,5 在,M文件中创建矩阵,M文件实际上是一个包含MATLAB代码文本文件;经过在MATLAB命令窗口中运行M文件创建矩阵。,36,MALAB 7.X程序设计,36/59,2.3.2数组元素标识,1 向量标识,向量是由多个元素组成,每个元素经过序号来标识。,例2-16,演示向量标志和重新赋值。,x=1:2:7;y=x;,y3=y(3),%,引用,y,第三个元素,5,y5=y(end),%,用,end,函数引用,y,最终,一个元素,7,y(3)=10,%,对,y,第三个元素重新赋值,37,MALAB 7.X程序设计,37/59,2矩阵标识,两种标识方式:,全下标方式,和,单下标方式,。,1)全下标方式,全下标方式标识是指出行下标和列下标方法标识,如一个mn矩阵a第i(1im)行第j(1jn)列元素可表示为a(i,j)。,38,MALAB 7.X程序设计,38/59,例2-17,演示矩阵元素标识和扩充矩阵 方法,a=1 2;3 4;5 6;,%,建立一个,2,3,矩阵,a12=a(1,2),%引用a(1,2)值,a(3,3),%引用a(3,3)值,(3,3),超出矩阵大小,犯错,a(3,3)=9,%扩充23矩阵为33,矩阵,并给a(3,3)赋值,39,MALAB 7.X程序设计,39/59,2)单下标方式,依据,全下标,换算出单下标函数sub2ind格式:,IND=sub2ind(siz,I,J),功效:,IND为返回对应单下标,siz为以矩阵行数和列数组成两个元素向量,I和J分别为矩阵某一行号和列号。,依据,单下标,换算出全下标函数ind2sub格式:,I,J=ind2sub(siz,IND),功效:,I和J分别为返回矩阵某一行号和列号,siz为以矩阵行数和列数组成两个元素向量,IND为单下标。,40,MALAB 7.X程序设计,40/59,例2-18,演示矩阵元素全下标标识和单下标标识转换。,i,j=ind2sub(3 3,5),%3,3,矩阵第,5,个元素全下标,ind=sub2ind(3 3,3,3),%3,3,矩阵第三行、第三列元素序号,41,MALAB 7.X程序设计,41/59,2.3.3 子数组,子数组是从数组中取出一部分元素所组成数组,通常可用全下标和单下标方式取子数组。,1 向量普通情况以下:,A(i),数组A第i个元素,A(i:L:i+m),数组A第i个-第i+m个(下标增量为L)元素,42,MALAB 7.X程序设计,42/59,2 矩阵普通情况以下:,A(:,j),数组A第j列全部元素,A(i,:),数组A第i行全部元素,A(i,j),数组A第i行第j列元素,A(:,j:L:j+n),数组A第j列-第j+n列(下,标增量为L)全部元素,A(i:k:i+m,:),数组A第i行-第i+m行(下标,增量为k)元素,A(i:k:i+m,j:L:j+n),数组A第i行-第i+m,行(下标增量为k)并在第j列,-第j+n列(下标增量为L)全,部元素,43,MALAB 7.X程序设计,43/59,例2-19,演示建立行向量并取子数组方法。,a1=1.1,-2.2,3.3,-4.4,5.5;,a1(3),%,取,a1,第三个元素,a1(1 4),%,取,a1,第一个和第四个元素,a1(1:2:5),%,取,a1,第一个、第三个和第五,个元素,等价语句为:,a1(1:2:end),44,MALAB 7.X程序设计,44/59,例2-20,演示建立34矩阵,并取子数组方法,。,a=1 2 3 4;5 6 7 8;9 10 11 12;,a(1,:),a(:,end),a24=a(2,4),%,取,a,第二行、第四列元素,a(1:2:4,:),a(:,1:2:end),a1=a(1,2,2,3,4),a2=a(1,2,2,3,1),a3=a(3,1,:),a(1,3,2,4)=zeros(2),%,对,a(1,3,2,4),赋值,45,MALAB 7.X程序设计,45/59,2.3.4数组赋值,数组赋值大致有两种方式:,全元素方式,和,子数组方式,。,1 全元素方式,全元素方式赋值普通格式:,a(:)=b,功效:,给矩阵a全部元素赋值,矩阵b元素总数必须等于矩阵a元素总数,但行列数不一定相等。,46,MALAB 7.X程序设计,46/59,例2-21,演示全元素方式赋值方法,a=zeros(2,3);b=1:6;a(:)=b,执行结果以下:,a=,1 3 5,2 4 6,47,MALAB 7.X程序设计,47/59,2 子数组方式,子数组方式赋值普通格式1:,a(s)=b,功效:,给矩阵a部分元素赋值,s为单下标序号,b为向量,向量元素个数必须等于数组a中s指定元素个数。,子数组方式赋值普通格式2:,A(i:k:i+m,j:L:j+n)=b,功效:,给数组a部分元素赋值,则数组b行列数必须等于数组a第i行-第i+m行(下标增量为k)并在第j列-第j+n列(下标增量为L)全部元素行列数。,48,MALAB 7.X程序设计,48/59,例2-22,演示子数组方式赋值方法。,a=zeros(2,3);a(5:6)=2 3,%给第5、6元素赋值,假如对a不作初始化,a(5:6)=2 3赋值情况有何改变?,a=zeros(3,4);,a(1:2,1:3)=1 1 1;1 1 1,%给第一、二行元素赋值为全1,49,MALAB 7.X程序设计,49/59,2.3.5数组元素删除,数组元素删除是简单地经过赋值为空(用表示)实现。,经过赋值为空,能够实现删除一行元素、一列元素、子数组和整个数组。,注意区分空矩阵和零矩阵:,空矩阵是00数组,而零矩阵是元素为零mn数组。,50,MALAB 7.X程序设计,50/59,例2-23,建立33数组,实现数组元素 删除。,a=1 2 0;3 4 0;5 6 9;,a(:,3)=,%,删除第三列元素,a(2,:)=,%,删除第二行元素,a(1)=,%,删除一个元素,则矩阵变为行向量,a=,%,删除全部元素为空矩阵,51,MALAB 7.X程序设计,51/59,2.3.6 多维数组,1 三维数组建立,三维数组建立方式和二维数组类似,大致有,三种方式:,1)经过全下标元素赋值方式创建,2)由生成函数直接创建,3)由生成函数ones,zeros,rand和randn等直接创建多维数组。,52,MALAB 7.X程序设计,52/59,例2-24,演示全下标元素赋值方式建立 三维数组方法。,b=1 1;2 2;,%,先创建二维数组,b(:,:,2)=5,%,扩展数组,53,MALAB 7.X程序设计,53/59,例2-25,演示生成函数ones、zeros、rand和randn直接创建多维数组方法。,ones(2,3,4),54,MALAB 7.X程序设计,54/59,函数cat格式为:,cat(维,p1,p2,),功效:,按指定行列数放置模块数组生成多维数组。参数维是指沿着第几维连接数组p1、p2等。,函数repmat格式为:,repmat(p,行 列 页),功效:,在总元素数目不变前提下重新确定数组行列数来重组数组。,其中第一个输入变量p是用来放置模块数组,后面变量行、列、页是要放在指定各维。,55,MALAB 7.X程序设计,55/59,例2-26,演示cat和repmat函数功效。,a=1 2;3 4;b=5 6;7 8;cat(1,a,b),a=1 2;3 4;b=5 6;7 8;cat(2,a,b),56,MALAB 7.X程序设计,56/59,a=1 2;3 4;b=5 6;7 8;cat(3,a,b),repmat(magic(2),2,3),(repmat(magic(2),2,3)结果同下),repmat(5,2,3),57,MALAB 7.X程序设计,57/59,2 多维数组信息,函数ndims功效是直接给出数组维数,,格式为,:,ndims(p),其中,p为数组。,函数size功效是给出数组各维大小,,格式为,:,m,n,=size(p),%得出各维大小,m=size(p,x),%得出某一维大小,其中,p为多维数组;m为行数,n为列数;当只有一个输出变量时,x=1返回第一维(行数),x=2返回第二维(列数),以这类推。,numel功效是给出数组体积(元素数目),,格式为,:,n=numel(,p,),其中,p为数组。,58,MALAB 7.X程序设计,58/59,例2-27,演示,ndims,size和,numel函数 功效。,x=ones(1,8);n=length(x),%,建立任意,1,8,数组,x,y=zeros(3,5);d=size(y),%,建立任意,3,5,数组,y,m n=size(y),ndims(y),numel(y),mm=size(y,1),nn=size(y,2),z=rand(2,10,3);,%,建立任意,2,10,3,数组,y,n=length(z),59,MALAB 7.X程序设计,59/59,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服