




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本章目标掌握矩阵、向量、数组和多项式的构造和运算方法能够使用常用的几种函数进行一般的数值问题求解理解符号运算的有关概念掌握使用符号运算解决符号推导、微积分、方程等问题的方法1主要内容2.1矩阵2.2向量2.3数组2.4多项式2.5数值运算与符号运算2.6符号变量和符号表达式2.7符号表示式的运算2.8微积分2.9方程求解22.1矩阵MATLAB=matrix(矩阵)+laboratory(实验室)32.1.1矩阵的构造1.通过直接输入矩阵的元素构造矩阵2.通过M文件创建矩阵3.通过函数构造矩阵4.通过数据文件构造矩阵42.1.1矩阵的构造1.通过直接输入矩阵的元素构造矩阵:(1)用中括号[]把所有矩阵元素括起来(2)同一行的不同数据元素之间用空格或逗号间隔(3)用分号(;)指定一行结束(4)可分成几行进行输入,用回车符代替分号(5)数据元素可以是表达式、数值、变量或函数5例:输入矩阵A、B的值>>A=[1234;5678;9101112;13141516]>>B=[1,sqrt(25),9,13;2,6,10,7*23+sin(pi),7,11,154,abs(-8),12,16]62.1.1矩阵的构造2.通过M文件创建矩阵:当矩阵尺寸较大时,可采用在M文件中创建矩阵。优点:方便修改矩阵元素72.1.1矩阵的构造3.通过函数构造矩阵:使用专门的函数可生成某个特定意义的矩阵方法一:初值:步长:终点若不指定步长,则默认值为1;最后一个元素不一定是终点,这取决于区间长度是否是步长的整数倍。该函数用于创建向量。82.1.1矩阵的构造3.通过函数构造矩阵:【例2-3】>>x=0:pi/4:2*pi;%创建0到2间隔为/4的自变量>>y=sin(x)%得到在自变量范围内的函数值>>v=0:pi>>v=012392.1.1矩阵的构造3.通过函数构造矩阵:方法二:linspace(初值,终点,元素个数)等分间隔;该函数用于创建向量。例如:>>m=linspace(0,pi,3)>>m=01.57083.1416102.1.1矩阵的构造3.通过函数构造矩阵:方法二:linspace(初值,终点,元素个数)例如:>>n=linspace(0,3,5)>>n=n=00.75001.50002.25003.0000113.通过函数构造矩阵:方法三:常见函数创建特殊矩阵空阵;全0阵zeros();全1阵ones();单位阵eye();随机阵randn()2.1.1矩阵的构造123.通过函数创建矩阵①空阵方法:>>[]性质:存在空阵变量;空阵中不包括任何元素;用于MATLAB中的运算传递。2.1.1矩阵的构造133.通过函数创建矩阵②全0阵——矩阵元素全部由0组成的矩阵或数组方法:>>zeros(n,n)%n×n方阵
>>zeros(m,n,p,...)%m×n×p×...维矩阵2.1.1矩阵的构造143.通过函数创建矩阵③全1阵——全部元素均为1的矩阵或数组方法:>>ones(n,n)%n×n方阵>>ones(m,n,p,...)%m×n×p×...非方阵2.1.1矩阵的构造153.通过函数创建矩阵④
单位阵——仅对角线元素为1,其余元素均为0的矩阵或数组方法:>>eye(n,n)%n×n方阵>>eye(m,n)%m×n非方阵2.1.1矩阵的构造163.通过函数创建矩阵⑤随机阵——全部元素均为0到1的矩阵或数组方法:>>randn(n,n)%n×n方阵>>randn(m,n,p,...)%m×n×p非方阵2.1.1矩阵的构造174.通过数据文件构造矩阵:MATLAB可处理的数据格式有:(1)文本文件(2)*.mat文件(3)*.xls文件(4)图形文件和声音文件以上文件均以矩阵存储的。2.1.1矩阵的构造182.1.2矩阵下标与子矩阵提取(1)A(m,n) %提取第m行,第n列元素(2)A(:,n) %提取第n列元素(3)A(m,:) %提取第m行元素(4)A(m1:m2,n1:n2) %提取第m1行到第m2行和第n1列到%第n2列的所有元素(5)A(m:end,n)%提取从第m行到最末行和第n列的子块(6)A(:) %得到一个长列矢量,该矢量的元素按%矩阵的列进行排列19例如:
修改矩阵A中元素的数值>>A=[1234;5678;9101112;13141516];矩阵如图:>>A(1,1)=0;A(2,2)=A(1,2)+A(2,1);A(4,4)=cos(0);继续执行第1行第4列017202.1.3矩阵的算术运算1.矩阵的加减运算:+(加)、-(减)2.矩阵乘法:*(乘)3.矩阵除法:/(右除)、\(左除)4.矩阵的幂:^(幂)5.矩阵转置:'(转置运算符)矩阵的算数运算应满足算数运算法则!212.1.3矩阵的算术运算【例2-4】两个矩阵分别为和求两者相加>>a=[123;456;789];>>b=[111;222;333];>>c=a+b结果为222.1.3矩阵的算术运算【例2-5】两个矩阵分别为和求两者相减>>a=[123;456;789];>>b=[111];>>c=a-b结果为232.1.3矩阵的算术运算【例2-6】两个矩阵a为,b为求c=a*b和d=b*a>>a=[123;456;789];>>b=[123];>>c=a*b结果为242.1.3矩阵的算术运算【例2-6】两个矩阵a为,b为求c=a*b和d=b*a>>a=[123;456;789];>>b=[123];>>d=b*a结果为252.1.3矩阵的算术运算矩阵除法:/(右除)、\(左除)①a\b等效于矩阵a的逆左乘矩阵b,即a-1·
b;②a/b等效于矩阵b的逆右乘矩阵a,即a·b-1;262.1.3矩阵的算术运算矩阵的幂:^(幂)【例】矩阵a为,求它的2次幂。>>a=[12;34]>>c=a^2c=7101522272.1.3矩阵的算术运算矩阵转置:'(转置运算符)【例2-14】矩阵a为,求a的转置。>>a=[123;456;789];>>c=a‘c=147258369282.1.3矩阵的算术运算矩阵转置:'(转置运算符)【例2-15】矩阵a为[1+2i,3+4i],求a的转置。>>a=[1+2i3+4i];>>c=a‘c=1.000-2.000i3.000-4.000i>>c=a.’c=1.000+2.000i3.000+4.000ia’为复数的共轭转置a.’为复数的非共轭转置>>c=conj(a’)292.1.4矩阵的关系运算关系运算符: <(小于)lt、<=(小于或等于)le、>(大于)gt >=(大于或等于)ge、==(等于)eq、~=(不等于)ne。关系运算符的运算法则:关系运算将对两个矩阵的对应元素进行比较。关系运算的两个矩阵必须同维。302.1.4矩阵的关系运算【例2-16】矩阵a和b均为1×3阶矩阵,进行如下关系运算。>>a=[0-12];>>b=[-312];>>a<bans=010>>a<=bans=011>>a>b;>>a==b;>>a~=b;结果为多少呢?100001110312.1.4矩阵的关系运算【例】>>A=[159;347;268]A=159347268>>B=magic(3)B=816357492>>C=gt(A,B)%A大于等于B?C=011000001322.1.4矩阵的关系运算【例】>>B=magic(3)B=816357492>>B>3ans=101011110>>B.*(B>3)%B中不大于3的元素设为0>>ans=806057490332.1.4矩阵的关系运算【例】绘制0到3pi之间的正弦曲线,并截取pi到2pi之间的曲线。>>x=linspace(0,3*pi);%自变量数组>>y=sin(x);%函数数组>>x1=(x<pi)|(x>2*pi);%逻辑数组>>y1=x1.*y;%截断数组>>plot(x,y1)342.1.4矩阵的关系运算352.1.4矩阵的关系运算【综合实例】利用关系运算求近似极限,修补图形缺口>>t=-2*pi:pi/10:2*pi;%自变量向量>>y=sin(t)./t;%函数向量>>tt=t+(t==0)*eps;%修正自变量向量,当t=0时用最小机器数代替>>y1=sin(tt)./tt;%修正后的函数向量>>subplot(1,2,1),plot(t,y)%未修正图形>>subplot(1,2,2),plot(tt,y1)%修正后图形362.1.4矩阵的关系运算372.1.5矩阵的逻辑运算必须是两个同维矩阵或其中一个矩阵为标量才能进行MATLAB提供了一些逻辑函数382.1.5矩阵的逻辑运算【例2-17】矩阵a和b均为2×3阶矩阵,进行如下逻辑运算。>>a=[103;0-16];>>b=[-100;050.3];>>a&bans=100011>>c=23;%标量>>b|cans=111111392.1.5矩阵的逻辑运算【例】矩阵a和b均为2×3阶矩阵,进行如下逻辑运算。>>a=[103;0-16];>>b=[103;1-16];>>isequal(a,b)ans=0>>isreal(a)ans=1402.1.6矩阵函数411. 求矩阵的行列式的值>>X=[1230;5608;901112;0141516];>>det(X)ans=-5464422. 求矩阵的秩>>X=[1,2,3;2,3-5;471];>>rank(X)ans=2433. 求逆矩阵>>X=[1230;5608;901112;0141516];>>Y=inv(X)Y=0.22990.09080.0351-0.07170.19400.0798-0.06590.00950.1274-0.08350.03220.0176-0.28920.00840.02750.0377>>Y*X%矩阵与其逆阵相乘结果是单位矩阵ans=1.00000 0 00 1.0000 0 00 0 1.0000 00 0 0 1.0000443. 求逆矩阵%续前页>>X*Y %矩阵的逆阵是唯一的ans=1.00000 0 00 1.0000 0 00 0 1.0000 00 0 0 1.0000454. 求特征值和特征向量【例2-18】矩阵a=,计算a的特征值和特征矢量>>a=[123;456;789];>>[c,d]=eig(a)c=-0.2320-0.78580.4082-0.5253-0.0868-0.8165-0.81870.61230.4082%特征矢量d=16.1168000-1.1168000-0.0000%特征值465. 矩阵分解(LU分解)LU分解法是将方阵分解成一个下三角矩阵(lower)和一个上三角矩阵(upper)适用场合:简化大矩阵的行列式值的计算过程;求解逆矩阵;求解方程组。475. 矩阵分解(LU分解)【例2-22】>>a=[123;456;789];>>[l,u]=lu(a)l=
0.1429
1.00000
0.5714
0.5000
1.0000
1.0000
0
0u=
7.0000
8.0000
9.00000
0.8571
1.71430
0
-0.0000486. 求解线形方程组例:求下列方程式的根。
2x1+x2-x3=5
3x1-2x2+2x3=55x1-3x2-x3=16求解上述的联立方程,可以使用左除,即求解AX=b,X=A\b496. 求解线形方程组>>A=[21-1;3-22;5-3-1];>>b=[5;5;16];>>X=A\bX=2.1429-1.1429-1.85712x1+x2-x3=5
3x1-2x2+2x3=55x1-3x2-x3=16507. 矩阵的特殊操作①重新排列方法:>>reshape(a,m,n,p,...)性质:将矩阵或数组a重新排列为m×n×p×...
排列按照先排列、再排行、然后排列第三维、第四维......517. 矩阵的特殊操作①重新排列reshape[例2-25]矩阵a为4×4矩阵,将其重新排列为1×16的一维矢量和2×4×2三维数组。>>a=pascal(4)a=1111123413610141020>>c=reshape(a,1,16)c=[1111123413610141020]①②③④527. 矩阵的特殊操作①重新排列reshape[例2-25]矩阵a为4×4矩阵,将其重新排列为1×16的一维矢量和2×4×2三维数组。>>a=pascal(4)a=1111123413610141020>>c=reshape(a,2,4,2)c(:,:,1)=11131124c(:,:,2)=16110310420①②③④537. 矩阵的特殊操作②矩阵的翻转和旋转方法:>>fliplr(a)%矩阵a左右翻转
left&right
>>flipud(a)%矩阵a上下翻转up&down
>>flipdim(a,n)%矩阵a的第n维翻转
>>rot90(a)%矩阵a逆时针旋转90o
③547. 矩阵的特殊操作②矩阵的翻转和旋转>>A=magic(3)>>A=
816357492>>flipud(A)ans=
492357816557. 矩阵的特殊操作②矩阵的翻转和旋转>>A=magic(3)>>A=
816357492>>fliplr(A)ans=
618753294567. 矩阵的特殊操作②矩阵的翻转和旋转>>A=magic(3)>>A=
816357492>>rot90(A)ans=672159834577. 矩阵的特殊操作③矩阵的抽取方法:>>c=diag(a,n)%c为矩阵a的第n条对角线
%所创建的元素矢量,n=0或不指定时抽取主对角线。
>>a=diag(c,n)%创建对角矩阵a,矢量c作为a的第n条
%对角线元素。a=12345678910111213141516n>0n=0n=<0%这两条命令中的c为列向量587. 矩阵的特殊操作③矩阵的抽取方法:>>c=tril(a,n)%抽取矩阵a的n条对角线下面的部分。
>>c=triu(a,n)%抽取矩阵a的n条对角线上面的部分。
%这两条命令中的c为与a同维矩阵597. 矩阵的特殊操作[例2-27]矩阵a为pascal矩阵,分别抽取对角线元素、创建对角矩阵,抽取上三角矩阵和下三角矩阵。>>a=pascal(4)a=1111123413610141020>>c=diag(a,1)c=1310607. 矩阵的特殊操作[例2-27]矩阵a为pascal矩阵,分别抽取对角线元素、创建对角矩阵、抽取上三角矩阵和下三角矩阵。>>a=pascal(4)a=1111123413610141020>>b=diag(c,1)b=01000030000100000>>c=tril(a)c=
100012001360141020>>d=triu(a,-1)d=1111123403610001020
612.2向量向量是矢量运算的基础行向量列向量622.2.1向量的构造1.逐个输入>>a=[139101516] %采用空格和逗号分隔构成行向量>>b=[1;3;9;10;15;16] %采用分号隔开构成列向量2.利用冒号表达式“:”生成向量>>x=1:2:9 %初值=1,终值=9,步长=2>>z=1:5 %初值=1,终值=5,默认步长=13.利用函数生成向量>>x=linspace(1,9,5) %初值=1,终值=9,元素数目=5632.2.2向量的运算1.点积:dot函数2.叉积:cross函数
例 >>a=[123];>>b=[456];>>c=dot(a,b)>>d=cross(a,b)c=32d=-36-3
642.3数组数组运算方式是一种元素对元素的运算(不按照线性代数的规则);除了加、减法的与矩阵相同以外,乘、除、幂的数组运算符都是通过在标准的运算符前面加一个圆点来生成,即.*、./、.\、.^。65数组运算【例】已知两数组,求两数组的相应运算。>>x=[123;456;789];>>y=[987;654;321];>>x+y %数组和矩阵的加法规则相同ans=101010101010101010>>x.*y %数组乘法:对应元素相乘ans=91621242524
21169662.4多项式多项式是形如 P(x)=a0xn+a1xn-1+…+an-1x+an的式子。在MATLAB中,多项式用行向量表示: P=[a0a1…an-1an]672.4.1多项式的生成与表达1.系数矢量直接输入poly2sym[例3-1]创建多项式x3-4x2+3x+2>>poly2sym([1-432])%将系数矢量转换为符号形式ans=x^3-4*x^2+3*x+22.特征多项式输入poly[例3-2]求矩阵的特征多项式系数,并转换为多项式>>a=[123;456;789];>>p=poly(a);%求解特征多项式>>poly2sym(p)ans=x^3-6*x^2-72*x-27123456789682.4.2多项式的运算1.多项式的算术运算①参加加减运算的多项式应该具有相同的阶次。②多项式乘法采用conv函数,除法由deconv函数完成。2.求根求多项式的根采用roots函数。3.求值①函数polyval可以将某个特定数值代入多项式②函数polyvalm可以求出当多项式中的未知数为方阵时的值。4.求微分
使用polyder函数对多项式求微分。692.4.2多项式的运算
【例3-4】求多项式3x2+2x+1在5、7、9处的值。
分析:求多项式在标量处的值,可采用polyval函数。>>p=[3,2,1];>>polyval(p,[5,7,9])ans=86162262702.4.2多项式的运算
【例3-5】求多项式3x2+2x+1对于矩阵及标量5处的值。
分析:求多项式在矩阵处的值,可采用polyvalm函数。>>p=[3,2,1];>>polyvalm(p,[2,5;7,9])ans=1221752453672579>>polyvalm(p,5)ans=86>>polyval(p,5)polyvalm符合矩阵乘法规则712.4.2多项式的运算
【例3-6】求多项式x5-5x4+3x3-6x2+4x-10的根。
分析:采用roots函数。>>a=[1,-5,3,-6,4,-10];>>r=roots(a)r=4.61300.7621+0.9789i0.7621-0.9787i-0.5685+1.0419i-0.5685-1.0419i
722.4.2多项式的运算【例3-9】求多项式3x4-5x3+2x2-6x+10的微分。
分析:采用polyder函数。>>p=[3-52-610];>>p1=polyder(p)%求解1次微分p1=12-154-6>>p2=polyder(p1)p2=36-304>>poly2sym(p1)%转换为多项式ans=12*x^3-15*x^2+4*x-6
>>p3=polyder(p,2)>>p3=24-308-12%polyder(A,B)实现的是多项式A*B的一次导数(微分)73应用举例例:设矩阵A和B满足关系式AB=A+2B已知A=423求B110-123分析:由AB=A+2B,可得(A-2E)B=A,故B=(A-2E)-1A>>A=[423;110;-123];>>B=inv(A-2*eye(3))*AB=3.0000-8.0000-6.00002.0000-9.0000-6.0000-2.000012.00009.000074应用举例例:将表达式(x-4)(x+5)(x2-6x+9)展开为多项式形式,并求其对应的一元n次方程的根。
分析:采用conv函数和roots函数>>p=conv([1-4],conv([15],[1-69]))>>x=roots(p)752.5数值运算与符号运算数值运算在运算前必须先对变量赋值,再参加运算。符号运算不需要对变量赋值就可运算,运算结果以标准的符号形式表达。762.5数值运算与符号运算有关符号运算的几个基本概念:1.符号对象——用来存储代表非数值的字符符号,可以是符号常量、符号变量、符号函数以及各种符号表达式。2.符号常量——形式上是数值,但已是一个符号对象。通过将数值常量作为sym()函数的输入参量可建立。3.符号变量——内容可变的符号对象。4.符号表达式、符号函数和符号方程——由符号常量、符号变量、符号函数用运算符或专用函数连接而成的符号对象。5.符号矩阵——元素是符号对象的矩阵。772.6符号变量和符号表达式符号变量和符号表达式在使用前必须说明1.sym函数>>f1=sym(‘a
x^2+b
x+c’) %创建符号变量f1和一个符%号表达式2.syms函数>>symsx>>f=a
x^2+b
x782.6符号变量和符号表达式默认的符号变量i和j通常作为虚数单位如>>a=1+2ia=1+2i792.7符号表示式的运算2.7.1算术运算
运算符“+”、“-”、“*”、“/”、“\”、“^”、“.*”、“.\”、“./”、“.^”分别实现符号对象的加、减、乘、左除、右除、符号数组的乘、左除、右除、幂运算802.7符号表示式的运算2.7.1算术运算
>>clear
>>f1=sym('1/(a-b)');>>f2=sym('2*a/(a+b)');>>f3=sym('(a+1)*(b-1)*(a-b)');>>f1+f2 %符号和ans=1/(a-b)+2*a/(a+b)>>f1*f3 %符号积ans=(a+1)*(b-1)>>f1/f3 %符号商ans=1/(a-b)^2/(a+1)/(b-1)812.7符号表示式的运算2.7.2关系运算
符号对象的关系运算,没有“大于”“小于”等的概念,只有是否“等于”的关系概念。即==或~=符号对象没有逻辑运算。822.7.3函数运算1.合并、化简、展开等函数(1)factor(S):将表达式S因式分解;(2)expand(S):将表达式S展开;(3)collect(S,n):将表达式S中的自变量n合并同次幂项;(4)simplify(S):利用代数中的函数规则化简表达式S;(5)[n,d]=numden(S):将表示式S转变成分子与分母形式,其中n为分子,d为分母。832.7.3函数运算2.反函数finverse(f,v) 对指定自变量为v的函数f(v)求反函数3.复合函数compose(f,g) 求f=f(x)和g=g(y)的复合函数f(g(y))compose(f,g,z) 求f=f(x)和g=g(y)的复合函数f(g(z))4.表达式替换函数(1)subs(S) :用赋值语句中给定值替换表达式S中所有同名变量(2)subs(S,old,new):用符号或数值变量new替换S中的符号变量old84应用举例>>clear>>f1=sym('(exp(x)+x)*(x+2)');>>f2=sym('a^3-1');>>f3=sym('1/a^4+2/a^3+3/a^2+4/a+5');>>f4=sym('sin(x)^2+cos(x)^2');>>collect(f1)ans= x^2+(exp(x)+2)*x+2*exp(x)>>expand(f1)ans=exp(x)*x+2*exp(x)+x^2+2*x>>factor(f2)ans=(a-1)*(a^2+a+1)>>[m,n]=numden(f3)
%m为分子,n为分母m=1+2*a+3*a^2+4*a^3+5*a^4n=a^4>>simplify(f4)ans=185
【例4-10】将表达式f=x(x(x-6)+12)t分别按照x和t进行同类合并。>>symsxt>>f=x*(x*(x-6)+12)*t;>>collect(f)ans=t*x^3-6*t*x^2+12*t*x>>collect(f,t)ans=x*(x*(x-6)+12)*t应用举例%不指明自变量时,默认状态是x%指明自变量时,按指定自变量合并。86>>clear>>symsxy>>finverse(1/tan(x)) %求反函数,自变量为xans= atan(1/x)>>f=x^2+y;>>finverse
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 环保采砂船租赁合同范本
- 汽修厂入伙协议合同模板
- 深圳商住楼购买合同范本
- 预制桥梁承包协议书模板
- 自动售药机合作协议合同
- 物业公司合同工合同范本
- 联通终止合同协议书范本
- 珠宝买卖服务合同协议书
- 黄冈还建房卖房合同范本
- 销售网络合作协议书范本
- 辅导员基础知识试题及答案
- 火龙罐技术课件
- 输水管道施工监理实施细则
- 搅拌器设计计算
- 关于个人现实表现材料德能勤绩廉【六篇】
- 【吊车租赁合同范本】吊车租赁合同
- 电梯井道脚手架施工方案
- 《游戏力养育》读书笔记PPT模板思维导图下载
- 琦君散文-专业文档
- 企业会计准则、应用指南及附录2023年8月
- 初中数学浙教版九年级上册第4章 相似三角形4.3 相似三角形 全国公开课一等奖
评论
0/150
提交评论