建模课件代数部分_第1页
建模课件代数部分_第2页
建模课件代数部分_第3页
建模课件代数部分_第4页
建模课件代数部分_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、代数部分交作业邮箱: 1多项式的表达与计算多项式的表达用多项式的系数组成的行向量来表达多项式,如果有缺项,输入时用0作为缺项的系数。例 输入多项式 p=1 0 2 3 9以惯用的方式表示上述多项式y=poly2str(p,x)2多项式的运算多项式a与b之和、差:a+b, a-b (a, b表示多项式对应的系数向量)多项式a与b乘积:conv(a,b) 多项式a除以b:q,r=deconv(a,b) 商是q, 余式是r3例 求两个多项式的和、差、乘积和除法运算,并用习惯形式表达a=1 7 16 18 8;b=0 0 0 1 3;a+by1=poly2str(a+b,x)a-by2=poly2st

2、r(a-b,x)conv(a,b)q,r=deconv(a,b)如果改成下述命令呢?a=1 7 16 18 8;b=1 3;4计算多项式a的变量在点x处的值:polyval(a,x),x可以是向量,也可以是矩阵,计算结果是与x同维的向量或矩阵。例 求多项式3*x2+2*x+1在x=1,4,5,8时的值p=3,2,1;x=1,4,5,8;polyval(p,x)5对有理分式求导数:num, den=polyder(p1,p2), p1 是有理分式的分子,p2是有理分式的分母,num 是导数的分子,den是导数的分母。例 p1=1 1 -6 2 0 4 p2=1 4 1 -7 num, den=p

3、olyder(p1,p2); d1=poly2str(num,x) d2=poly2str(den,x)6代数式的符号运算factor(s): 对s定义的多项式因式分解expand(s) 对s定义的多项式展开collect(s,x) 对s定义的多项式中x的同类项合并simple(s) 对s定义的多项式化简subs(s,old,new) 用变量old替换new后,s的结果7例 对多项式a3-b3进行因式分解s=sym(a3-b3 )y=factor(s)例 设多项式s=(1+2*x-y)2,求其展开的多项式,并按y的幂次合并形式展开多项式s=sym(1+2*x-y)2)p=expand(s)co

4、llect(p,y)8例 对多项式x3-6*x2+11*x-6进行因式分解,并求x=1时的函数值s=sym(x3-6*x2+11*x-6)y=factor(s)z=subs(s,x,1)vpa(z) %给出数值型计算结果9求多项式方程的根roots(p) 求多项式p的所有的根solve(s,x) 对方程s关于变量x求解x1,x2,xn=solve(s1,s2,sn,x1,x2,xn) 对n个方程s1,s2,sn的指定变量x1,x2,xn求解,并将结果赋给x1,x2,xn。10例 求方程组 的解 syms x ys1=x+3*y;s2=x2+y2-1;x,y=solve(s1,s2,x,y)11

5、例 求方程x5+x4-4*x3+9*x-10的所有根p=1 -4 0 9 -10r=roots(p)或者s=sym(x4-4*x3+9*x-10=0)y=solve(s)double(y)12矩阵的建立逐个元素输入;编辑器创建;导入到Matlab;(其它方法)一维数组a=1:0.1:10b=linspace(1,10,100)%线性采样法c=1:-0.1:0d=logspace(0,3,4)%对数采样法f=logspace(1,2,5)x= %建立一个空矩阵13生成单位矩阵、零矩阵、元素全为1的矩阵、对角矩阵 eye(3); eye(3,4);zeros(3,4);zeros(3);ones(

6、3);ones(3,4) ;a=1 2 3 4 5diag(a)diag(a,1)diag(a,2)diag(a,-2)14提取矩阵的对角线元素设A为mn矩阵,diag(A)函数用于提取矩阵A主对角线元素,产生一个具有min(m,n)个元素的列向量。diag(A)函数还有一种形式diag(A,k),其功能是提取第k条对角线的元素。15例 先建立55矩阵A,然后将A的第一行元素乘以1,第二行乘以2,第五行乘以5。A=17,0,1,0,15;23,5,7,14,16;4,0,13,0,22;10,12,19,21,3;.11,18,25,2,19;D=diag(1:5);D*A %用D左乘A,对A

7、的每行乘以一个指定常数16产生01间均匀分布的随机矩阵rand(2,4)产生均值为0,方差为1的标准正态分布随机矩阵randn(3,5)生成随机排列向量randpem(6)17用于专门学科的特殊矩阵 (1) 魔方矩阵魔方矩阵有一个有趣的性质,其每行、每列及两条对角线上的元素和都相等。对于n阶魔方阵,其元素由1,2,3,nn共nn个整数组成。MATLAB提供了求魔方矩阵的函数magic(n),其功能是生成一个n阶魔方阵。18例 将101-125等25个数填入一个5行5列的表格中,使其每行每列及对角线的和均为565。M=100+magic(5)19 (2) 范得蒙矩阵范得蒙(Vandermonde

8、)矩阵最后一列全为1,倒数第二列为一个指定的向量,其他各列是其后列与倒数第二列的点乘积。可以用一个指定向量生成一个范得蒙矩阵。在MATLAB中,函数vander(V)生成以向量V为基础向量的范得蒙矩阵。例如,A=vander(1;2;3;5)即可得到上述范得蒙矩阵。20 (3) 伴随矩阵MATLAB生成伴随矩阵的函数是compan(p),其中p是一个多项式的系数向量,高次幂系数排在前,低次幂排在后。例 为了求多项式的x3-7x+6的伴随矩阵,可使用命令:p=1,0,-7,6;compan(p)21查询a=2 3 5 0 9 6 7 8a(3)a(1 4)a(4:end)a(3:-1:1)%由前

9、三个元素倒排a(find(a7)%查询大于7的所有元素a(2)=16a(1 3 6)=1 34 67size(a)22b=1 2 3 4;5 6 7 8;9 10 11 12b(3, 1)b(3)%查询第三个元素(以列的顺序)b(3,:)b(:,3)b(:)%把矩阵的每列以左右为次序,首尾相连成一个列向量b(2 4; 5 6)b(2 4)b(find(b7)b(:,1:3)b(2,1:3)23求向量的最大和最小值y=max(X) 返回向量X的最大值存入y,如果X中包含复数元素,则按模取最大值。y,I=max(X) 返回向量X的最大值存入y,最大值的序号存入I,如果X中包含复数元素,则按模取最大

10、值。求向量X的最小值的函数是min(X),用法和max(X)完全相同。 24例 已知x=-43,72,9,16,23,47, 求向量x的最大值和最小值。y=max(x) %求向量x中的最大值y,l=max(x) %求向量x中的最大值及其该元素的位置z=min(x) %求向量x中的最小值z,m=min(x) %求向量x中的最小值及其该元素的位置25 max(A) 返回一个行向量,向量的第i个元素是矩阵A的第i列上的最大值。 Y,U=max(A) 返回行向量Y和U,Y向量记录A的每列的最大值,U向量记录每列最大值的行号。求矩阵最小值的函数是min,其用法和max完全相同。求矩阵元素的最大值和最小值

11、26矩阵的基本运算矩阵的加、减、数乘、乘、转置、逆运算、矩阵乘幂分别为a+b;a-b;k*a;a*b;a;transpose(a);inv(a);a(-1);an计算方阵的行列式、求矩阵的秩、矩阵行变换化简、矩阵的迹分别为det(a); rank(a); rref(a); trace(a)它们都符合矩阵的运算规律。27矩阵除法在MATLAB中,有两种矩阵除法运算:和/,分别表示左除和右除。如果A矩阵是非奇异方阵,则AB和B/A运算可以实现。AB等效于A的逆左乘B矩阵,也就是inv(A)*B,而B/A等效于A矩阵的逆右乘B矩阵,也就是B*inv(A)。对于含有标量的运算,两种除法运算的结果相同,

12、如3/4和43有相同的值,都等于0.75。又如,设a=10.5,25,则a/5=5a=2.1000 5.0000。对于矩阵来说,左除和右除表示两种不同的除数矩阵和被除数矩阵的关系。对于矩阵运算,一般ABB/A。28矩阵的伪逆如果矩阵A不是一个方阵,或者A是一个非满秩的方阵时,矩阵A没有逆矩阵,但可以找到一个与A的转置矩阵A同型的矩阵B,使得:ABA=ABAB=B此时称矩阵B为矩阵A的伪逆,也称为广义逆矩阵。在MATLAB中,求一个矩阵伪逆的函数是pinv(A)。29例a=1,2,3b=1,2,3a+ba-ba试试下列命令a*binv(a)a.*ba*ba*b例a=1,2;3,4b=1,2;1

13、2a*binv(a)a/b %ab-1ab %a-1b30例 计算行列式 syms a b c dD=a b c d;a a+b a+b+c a+b+c+d;a 2*a+b 3*a+b+c 4*a+3*b+2*c+d;a 3*a+b 6*a+b+c 10*a+6*b+3*c+d;det(D)31解线性方程组求逆法对于线性方程组Ax=B,或者xA=B,如果A是可逆方阵,则可直接求出。例 解下列方程组 A=1 2 3;1 3 5;1 3 6b=2 4 5x=inv(A)*bx=Ab32练习 解方程组 33A=2 2 -1 1;4 3 -1 2;8 3 -3 4;3 3 -2 -2;b=4 6 12

14、 6; x=inv(A)*b 执行结果为:x = 0.6429 0.5000 -1.5000 0.2143由执行结果可知方程组的解为: 0.6429 0.5000 -1.5000 0.2143 。34例 求矩阵X,使满足:AXB = C。A=1 2 3;2 2 1;3 4 3;B=2,1;5 3;C=1 3;2 0;3 1;X=AC/B35初等变换法通过对系数矩阵、增广矩阵进行行初等变换来求解。例 求非齐次方程的解 A=2 3 1;1 -2 4; 3 8 -2; 4 -1 9B=4;-5;13;-6b=(A,B)rref(b)36对于齐次线性方程组,还可以用下述命令求解null例 求方程组的解

15、 A=1 -2 3 -4; 0 1 -1 1; -1 0 -1 2; 1 -3 4 -5a=null(A)试试看:a=null(A,r)37矩阵的特征值与特征向量poly(A) 求矩阵A的特征多项式d=eig(A) 方阵A的全部特征值组成列向量dV,D=eig(A) 得到一个矩阵A的特征值在对角线上的对角矩阵D,矩阵V的列是相应的特征向量,满足AV=VD。注意:这三条指令求出的是数值解,并不是解析解。38例 求矩阵 的特征多项式,特征值,特征向量A=1,-1;2,4p=poly(A)poly2str(p,x)V,D=eig(A)39矩阵的对角化代数中的结论:如果n阶矩阵A有n个互异的特征值,则

16、A与对角矩阵相似;如果A是实对称矩阵,则必有可逆矩阵P,使得,其中B是以A的特征值为对角元素的对角矩阵,P可由A的线性无关的特征向量得到,实际上,对于实对称矩阵来说,其n个互异的特征值对应的特征向量组成的是正交矩阵。40例 求矩阵P,将下述矩阵A对角化,并求 A=4 6 0; -3 -5 0; -3 -6 1p,d=eig(A)p*d10*inv(p)41例 求正交矩阵P,将下述矩阵A对角化,A=2 -2 0; -2 1 -2; 0 -2 0p,d=eig(A)p*pp(-1)*A*pp*A*p的输出结果呢?42例 判断下述二次型 的类型(正定、负定、半正定、半负定),并将其化为标准形,A=-

17、5 2 2; 2 -6 0; 2 0 -4p,d=eig(A)43例 用求特征值的方法解方程:3x5-7x4+5x2+2x-18=0 p=3,-7,0,5,2,-18;A=compan(p); %A的相伴矩阵(友矩阵)x1=eig(A) %求A的特征值x2=roots(p) %直接求多项式p的零点44同型的向量或矩阵比较U=max(A,B) A,B是两个同型的向量或矩阵,结果U是与A,B同型的向量或矩阵,U的每个元素等于A,B对应元素的较大者。U=max(A,n) n是一个标量,结果U是与A同型的向量或矩阵,U的每个元素等于A对应元素和n中的较大者。min函数的用法和max完全相同。 45例

18、分析下列程序的功能。x=4 5 6;1 4 8; y=1 7 5;4 5 7; p=max(x,y) ; p分析:取两个23的二维数组x和y同一位置上的元素值大者构成一个新矩阵p。46平均值和中值求数据序列平均值的函数是mean,求数据序列中值的函数是median。mean(X) 返回向量X的算术平均值。median(X) 返回向量X的中值。mean(A) 返回一个行向量,其第i个元素是A的第i列的算术平均值。47median(A) 返回一个行向量,其第i个元素是A的第i列的中值。mean(A,dim) 当dim为1时,该函数等同于mean(A);当dim为2时,返回一个列向量,其第i个元素是

19、A的第i行的算术平均值。median(A,dim) 当dim为1时,该函数等同于median(A);当dim为2时,返回一个列向量,其第i个元素是A的第i行的中值。48例 已知x=1 8 4 2;9 6 2 5;3 6 7 1,从不同维方向求出其平均值和中值。median(x) median(x,1) %按列方向,求数组的中值median(x,2) %按行方向,求数组的中值mean(x) mean(x,1) %按列方向,求数组的平均值mean(x,2) %按行方向,求数组的平均值49求和与求积sum(X) 返回向量X各元素的和。prod(X) 返回向量X各元素的乘积。 设A是一个矩阵,函数的调

20、用格式为:sum(A) 返回一个行向量,其第i个元素是A的第i列的元素和。prod(A) 返回一个行向量,其第i个元素是A的第i列的元素乘积。50sum(A,dim) 当dim为1时,该函数等同于sum(A);当dim为2时,返回一个列向量,其第i个元素是A的第i行的各元素之和。prod(A,dim) 当dim为1时,该函数等同于prod(A);当dim为2时,返回一个列向量,其第i个元素是A的第i行的各元素乘积。51例 已知x=4 5 6;1 4 8,分析矩阵x的每行、每列元素的乘积和全部元素的乘积。sum(x)sum(x,1) %求数组各列元素的和sum(x,2) %求数组各行元素的和sum(sum(x) %求数组所有元素的和52prod(x)prod(x,1) %求数组各列元素的乘积prod(x,2) %求数组各行元素的乘积prod(prod(x) %求数组所有元素的乘积53累加和与累乘积cumsum(X) 返回向量X累加和向量。cumprod(X) 返回向量X累乘积向量。cumsum(A) 返回一个矩阵,其第i列是A的第i列的累加和向量。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论