《第3章数值运算精选PPT.ppt》由会员分享,可在线阅读,更多相关《第3章数值运算精选PPT.ppt(31页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第3章数值运算第1页,本讲稿共31页3.1 矩阵的构造通过直接输入矩阵的元素构造矩阵:用中括号 把所有矩阵元素括起来同一行的不同数据元素之间用空格或逗号间隔用分号(;)指定一行结束可分成几行进行输入,用回车符代替分号数据元素可以是表达式,系统将自动计算结果2 2第2页,本讲稿共31页例:输入矩阵A、B的值A=1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16B=1,sqrt(25),9,13;2,6,10,7*23+sin(pi),7,11,15;4,abs(-8),12,163 3第3页,本讲稿共31页3.2 矩阵下标与子矩阵提取A(m,n)提取第m行,第n列元素A
2、(:,n)提取第n列元素A(m,:)提取第m行元素A(m1:m2,n1:n2)提取第m1行到第m2行和第n1列到第n2列的所有元素A(m:end,n)提取从第m行到最末行和第n列的子块A(:)得到一个长列矢量,该矢量的元素按矩阵的列进行排列4 4第4页,本讲稿共31页例 使用下标得到矩阵元素和子块X=1 2 3 0;5 6 0 8;9 0 11 12;0 14 15 16X(2,3)提取矩阵第二行第三列的元素X(2,:)提取矩阵第二行所有元素X(2:3,1:3)提取第二行到第三行和第一列到第三列的子块X(2:end,1)提取从第二行到末行和第一列的子块X(:)得到一个长列矢量,该矢量的元素按X
3、的列排列5 5第5页,本讲稿共31页例:修改矩阵A中元素的数值A=1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16A(1,1)=0A(2,2)=A(1,2)+A(2,1)A(4,4)=cos(0)6 6第6页,本讲稿共31页3.3 矩阵的算术运算矩阵的加减运算:(加)、(减)运算规则:相加、减的两矩阵必须有相同的行和列;两矩阵对应元素相加减。允许参与运算的两矩阵之一是标量。标量与矩阵的所有元素分别进行加减操作。n矩阵乘法:*(乘)运算规则:A矩阵的列数必须等于B矩阵的行数。标量可与任何矩阵相乘。7 7第7页,本讲稿共31页矩阵除法矩阵除法:/(右除)、(左除)X=A
4、B是方程A*X=B的解;X=B/A是方程X*A=B的解。8 8第8页,本讲稿共31页 a p a 自乘p次 9 9方阵11的整数的整数如a,p都是矩阵,ap则无意义。矩阵的乘方:(乘方)a=1,2,3;4,5,6;7,8,9;a2 ans=30 36 42 66 81 96 102 126 150当一个方阵有复数特征值或负实特征值时,非整数幂是复数阵。当一个方阵有复数特征值或负实特征值时,非整数幂是复数阵。第9页,本讲稿共31页对于p的其它值,计算涉及特征值和特征向量。例:b=a0.5 b=0.4498+0.7623i 0.5526+0.2068i 0.6555-0.3487i 1.0185+
5、0.0842i 1.2515+0.0228i 1.4844-0.0385i 1.5873-0.5940i 1.9503-0.1611i 2.3134+0.2717i1010第10页,本讲稿共31页矩阵转置运算规则:n如果矩阵A是实数阵,则矩阵A的转置是将第i行第j列的元素与第j行第i列的元素互换;n如果矩阵A是复数阵,则A转置后的元素由A对应元素的共轭复数构成。X=1 2 3;5 6 0;9 0 11;XY=2 3 0 9;5 6 0 1;YZ=3+7i 9-2i;5+2i 1;Z1111第11页,本讲稿共31页3.4 矩阵的关系运算n关系运算符:(小于)、(大于)=(大于或等于)、=(等于)
6、、=(不等于)n关系运算符的运算法则:矩阵的维数一致。将两个矩阵的对应元素进行比较关系运算结果。若比较关系的结果为真,置为1,否则置01212第12页,本讲稿共31页3.5 矩阵的逻辑运算n必须是两个同维矩阵或其中一个矩阵为标量才能进行 nMATLAB提供了一些逻辑函数逻 辑 函 数功 能all如果所有的元素都是非零值,返回1;否则,返回0。any如果有一个元素为非零值,那么返回1;否则,返回0isempty判断是否空矩阵isequal判断两矩阵是否相同isreal判断是否是实矩阵find返回一个由非零元素的下标组成的向量1313第13页,本讲稿共31页例 逐个元素的逻辑运算A=rand(2,
7、4)B=A0.5%数组A中大于0.5的元素位置上,将数组B赋值为逻辑真,否则赋值为逻辑假C=A A=0 1 2;any(A)B=1 0 3;2 0 1;any(B)C=1 2 3;2 0 1;all(C)isempty(A)isequal(A,B)isreal(B)find(C a=1:12;b=reshape(a,3,4)c=zeros(3,4);c(:)=a(:)n矩阵的变向 rot90:旋转(逆时针)fliplr:上翻(沿垂直轴)flipud:下翻(沿水平轴)n矩阵的抽取 diag:抽取主对角线元素;tril:抽取主下三角矩阵;triu:抽取主上三角矩阵;1616第16页,本讲稿共31页
8、例:例:a=1,2,3;4,5,6;7,8,9diag(a)tril(a)triu(a)例:例:a=1 2 3 4 5;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20;21 22 23 24 25 b=3 0 16;17-6 9;0 23-4;9 7 0;4 13 11求 (1)c=a*b;(2)将矩阵c右下角3x2子矩阵赋给d.第17页,本讲稿共31页n矩阵的扩展例:a=1,2,3;4,5,6;7,8,9;b=a;1 2 3%增加一行 c=a,1 2 3%增加一列1818a=1 2 3 4 5 6 7 8 9b=1 2 3 4 5 6 7 8 9 1 2 3
9、c=1 2 3 1 4 5 6 2 7 8 9 3第18页,本讲稿共31页3.7 多项式matlab语言把多项式表达成一个行向量,该向量中的元素是按多项式降幂排列的。如:f(x)=an xn+an-1xn-1+a1x+a0 ;用行向量表示:p=an an-1 a1 a0。多项式相关函数:poly(a)产生特征多项式系数向量a为矩阵;a为向量 a=1 2 3;4 5 6;7 8 0;p=poly(a)p=1.00 -6.00 -72.00 -27.001919第19页,本讲稿共31页3.8 特殊矩阵函 数功 能eye产生单位矩阵zeros产生全部元素为0的矩阵ones产生全部元素为1的矩阵 产生
10、空矩阵rand产生均匀分布随机矩阵linspace产生线性等分的矩阵magicMagic(魔方)矩阵2020空阵 matlab允许输入空阵,当操作无结果时,返回空阵。rand 随机矩阵 rand(m,n),rand(m)第20页,本讲稿共31页neye 单位矩阵,主对角线的元素为1.eye(m,n),eye(m)nzeros全部元素都为0的矩阵 zeros(m,n),zeros(m)nones全部元素都为1的矩阵 ones(m,n),ones(m)ndiag 对角矩阵 diag(2 4 6)ans=2 0 0 0 4 0 0 0 6 2121第21页,本讲稿共31页注意:matlab严格区分大
11、小写字母。因此a与A是两个不同的变量。matlab函数名必须小写。2222第22页,本讲稿共31页3.9 数据的保存与获取 把matlab工作空间中一些有用的数据长久保存下来的方法是生成mat数据文件。nsave 将工作空间中所有的变量存到matlab.mat文件中。nsave data将工作空间中所有的变量存到指定 data.mat文件中。nsave data a b 将工作空间中a和b变量存到data.mat文件中。2323第23页,本讲稿共31页load 导入保存到matlab.mat文件中的所有变量load data导入保存到data.mat文件中的所有变量load data a b导
12、入保存到data.mat文件的变量a和b mat文件是标准的二进制文件,还可以ASCII码形式保存2424第24页,本讲稿共31页应用举例例例:将表达式(x-4)(x+5)(x2-6x+9)展开为多项式形式,并求其对应的一元n次方程的根。p=conv(1-4,conv(1 5,1-6 9)px=poly2str(p,x)x=roots(p)2525第25页,本讲稿共31页3.10函数优化寻优函数:fmin 单变量函数fmins 多变量函数constr 有约束条件无约束条件无约束条件第26页,本讲稿共31页例1:f(x)=x2+3x+2在-5 5区间的最小值f=fmin(x2+3*x+2,-5,
13、5)例2:f(x)=100(x2-x12)2+(a-x1)2在x1=a,x2=a2处有最小值function f=xun(x,a)f=100*(x(2)-x(1).2).2+(a-x(1).2;x=fmins(xun,0,0,sqrt(2)第27页,本讲稿共31页3.11 数据分析max 各列最大值 mean 各列平均值sum 各列求和std 各列标准差var 各列方差sort 各列递增排序第28页,本讲稿共31页3.12 拟合与插值1.多项式拟合x0=0:0.1:1;y0=-.447 1.978 3.11 5.25 5.02 4.66 4.01 4.58 3.45 5.35 9.22;p=polyfit(x0,y0,3)p=56.6915 -87.1174 40.0070 -0.9043xx=0:0.01:1;yy=polyval(p,xx);plot(xx,yy,-b,x0,y0,or)第29页,本讲稿共31页2.插值n插值的定义是对某些集合给定的数据点之间函数的估值方法。n当不能很快地求出所需中间点的函数时,插值是一个非常有价值的工具。nMatlab提供了一维、二维、三次样条等许多插值选择第30页,本讲稿共31页table1 table2 intep1 interp2 spline n利用已知点确定未知点n粗糙 精确n集合大的 简化的插值函数插值函数第31页,本讲稿共31页
限制150内