《第五章MATLAB基本应用领域课件.ppt》由会员分享,可在线阅读,更多相关《第五章MATLAB基本应用领域课件.ppt(119页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 第五章第五章 MATLAB基本应用领域基本应用领域5.1 符号运算nMathworksMathworks公司公司 n19931993年年nMapleMaplen符号计算工具箱(符号计算工具箱(Symbolic ToolboxSymbolic Toolbox)1.1.符号运算入门符号运算入门n例例:nsolve(a*x2+b*x+c=0)n还可以是:x=solve(a*x2+b*x+c)n或者 y=a*x2+b*x+c x=solve(y)例:对于数学表达式例:对于数学表达式合并关于合并关于x x的同类项的同类项 nsymssyms x y;x y;ncollect(x2*y+y*x-x2-2
2、*x)collect(x2*y+y*x-x2-2*x)例:三因式连乘积的展开式例:三因式连乘积的展开式 nsymssyms x;x;ncollect(x2+1)*(x+2)*(x-3)collect(x2+1)*(x+2)*(x-3)例:求导数例:求导数 nx=sym(x)x=sym(x)ndiff(cos(x)2)diff(cos(x)2)例:求导数例:求导数 nsymssyms x;x;ndiff(cos(x2)diff(cos(x2)例:计算不定积分例:计算不定积分 nsymssyms x;x;nint(xint(x)例:计算定积分例:计算定积分 nsymssyms x a b;x a
3、b;nint(x2,a,b)int(x2,a,b)例:求矩阵例:求矩阵 行列式的值行列式的值 nsyms a b c d;np=a b;c d;ndet(p)例:解一阶微分方程例:解一阶微分方程 nsyms a y;ndsolve(Dy=a*y)例:解一阶微分方程例:解一阶微分方程 nsyms a y;ndsolve(Dy=a*y)2.MATLAB2.MATLAB符号运算的几个基本概念符号运算的几个基本概念nMATLABMATLAB数值运算的操作对象是数值运算的操作对象是数值数值,而而MATLABMATLAB符号运算的操作对象是非符号运算的操作对象是非数值的数值的符号对象符号对象。(1 1)符
4、号对象()符号对象(symsym类型)类型)n存储代表非数值的字符对象。存储代表非数值的字符对象。n符号对象可以是符号常量(符号形式符号对象可以是符号常量(符号形式的数)、符号变量、符号函数以及各的数)、符号变量、符号函数以及各种符号表达式等。种符号表达式等。(2 2)创建符号对象)创建符号对象 n格式格式1:S=sym(A)n格式格式2:syms s1 s2 s3n例:例:sym(a)syms a(3 3)符号常量)符号常量 n例:对数值量例:对数值量1/81/8创建符号对象。创建符号对象。na=sym(1/8)a=sym(1/8)nb=sym(1/8)b=sym(1/8)(4 4)符号变量
5、)符号变量 n例:例:na=sym(alpha)n syms alpha(5 5)符号表达式)符号表达式 n符号表达式有两类:符号函数与符号方程。符号表达式有两类:符号函数与符号方程。n例:用例:用sym和和syms建立符号函数建立符号函数syms n x t p T wc;f1=n*xn/xf2=sym(log(t)2*t+p)f3=pi+atan(T*wc)f4=sym(w+sin(a*z)n例:用例:用sym建立符号方程建立符号方程e1=sym(a*x2+b*x+c=0)e2=sym(log(t)2*t=p)e3=sym(sin(x)2+cos(x)=0)e4=sym(Dy-y=x)(6
6、 6)函数命令)函数命令findsymfindsym()()n确定一个符号表达式中的自变量确定一个符号表达式中的自变量 n格式格式1 findsym(f,n)按数学习惯确定符号函数按数学习惯确定符号函数f中的中的n个自变量。个自变量。n格式格式2 findsym(e,n)按数学习惯确定符号方程按数学习惯确定符号方程e中的中的n个自变量个自变量。n例:用函数命令例:用函数命令findsym()确定符号函确定符号函数数f1,f2中的自变量。中的自变量。syms k m n w y z;f=n*yn+m*y+w;ans1=findsym(f,1)f2=m*y+n*log(z)+exp(k*y*z);
7、ans2=findsym(f2,2)n例:用函数命令例:用函数命令findsym()确定符号方确定符号方程程e1,e2中的自变量。中的自变量。syms a b c x p q t w;e1=sym(a*x2+b*x+c=0);ans1=findsym(e1,1)e2=sym(2*(sin(p*t+q)=0);ans2=findsym(e2)(7 7)符号矩阵)符号矩阵n例:例:用函数命令用函数命令sym()来创建符号矩阵来创建符号矩阵m1=sym(ab bc cd;de ef fg;h i j);clam1=class(m1)m2=sym(1 12;23 34);clam2=class(m2)
8、m3=sym(a b;c d*x=0);clam3=class(m3)3.MATLAB3.MATLAB符号运算的基本内容符号运算的基本内容(1)符号变量代换及其函数)符号变量代换及其函数subs()n格式格式1:subs(S,old,new)old是符号表达式是符号表达式S中的符号变量,中的符号变量,而而new可以是符号变量、符号常量、可以是符号变量、符号常量、双精度数值与数值数组等。双精度数值与数值数组等。n格式格式2:subs(S,new)用用new置换符号表达式置换符号表达式S中的自变量。中的自变量。n例:例:已知已知f=axn+by+k,符号变量替换:符号变量替换:a=sint,b=l
9、nw,k=ce-dt;符号常量替换:符号常量替换:n=5,k=k用数值数组替换:用数值数组替换:k=1:1:4。n解解syms a b c d k n x y w t;f=a*xn+b*y+kf2=subs(f,a b k,sin(t)log(w)c*exp(-d*t)f3=subs(f,n,k,5,pi)f4=subs(f,k,1:4)(2 2)MATLABMATLAB符号表达式的化简符号表达式的化简na.因式分解的函数命令因式分解的函数命令factor()n格式:格式:factor(E)nfactor(sym(N)对于大于对于大于252的整数的整数的分解的分解n例:已知例:已知f=x3+x
10、2-x-1,试对其因式分解试对其因式分解。syms x;f=x3+x2-x-1;f1=factor(f)n例:已知例:已知试对其因式分解试对其因式分解。syms a b c;f=a4*(b2-c2)+b4*(c2-a2)+c4*(a2-b2);f1=factor(f)n例:已知例:已知c=12345678901234567890,试试对其进行质因子分解。对其进行质因子分解。c=sym(12345678901234567890);factor(c)nb.符号表达式展开函数符号表达式展开函数expand()例:用以下例:用以下MATLAB语句展开:语句展开:syms x y;f=(x+y)3;f1
11、=expand(f)nc.同类项合并函数同类项合并函数collect()n格式格式1.collect(E,v)将符号表达式将符号表达式E中的中的v的同幂项系数合的同幂项系数合并。并。n格式格式2.collect(E)将符号表达式将符号表达式E中由函数中由函数findsym()确确定的默认变量的系数合并。定的默认变量的系数合并。n例:例:syms a b c x;f=a*x*exp(-c*x)+b*exp(-c*x);f1=collect(f,exp(-c*x)n例:例:syms a b n x y;f=x2*y+y*x-a*x2-b*x;f1=collect(f)d.符号表达式化简函数符号表达
12、式化简函数simplify()simplify()与与simple()simple()n格式格式.simplify(E)simplify(E)将符号表达式将符号表达式E E运用多种恒等式变换运用多种恒等式变换进行综合化简。进行综合化简。n例:例:进行综合化简。进行综合化简。symssyms x n c x n c alphalph beta;beta;e10=sin(x)2+cos(x)2;e10=sin(x)2+cos(x)2;e1=simplify(e10)e1=simplify(e10)e20=exp(c*e20=exp(c*log(alph+betalog(alph+beta););e
13、2=simplify(e20)e2=simplify(e20)函数simple()调用格式为:n格式1.simple(E)对符号表达式对符号表达式E E尝试多种不同的简化算法,以尝试多种不同的简化算法,以得到符号表达式得到符号表达式E E的长度最短的简化形式。的长度最短的简化形式。n格式2.R,HOW=simple(E)功能同格式功能同格式1 1,返回参数,返回参数R R为表达式的简化型,为表达式的简化型,HOWHOW为简化过程中使用的简化方法。为简化过程中使用的简化方法。n例:例:symssyms x y;x y;e1=log(x)+log(y)e1=log(x)+log(y)R1,HOW1
14、=simple(e1)R1,HOW1=simple(e1)e2=2*cos(x)2-sin(x)2e2=2*cos(x)2-sin(x)2R2,HOW2=simple(e2)R2,HOW2=simple(e2)e3=e3=cos(x)+jcos(x)+j*sin(x)*sin(x)R3,HOW3=simple(e3)R3,HOW3=simple(e3)e4=x3+3*x2+3*x+1e4=x3+3*x2+3*x+1R4,HOW4=simple(e4)R4,HOW4=simple(e4)e5=cos(x)2-sin(x)2e5=cos(x)2-sin(x)2R5,HOW5=simple(e5)R
15、5,HOW5=simple(e5)e.e.符合函数的运算与函数命令符合函数的运算与函数命令composecompose()()n设设z z是是y y的函数的函数z=f(y),z=f(y),而而y y又是又是x x的函数的函数y=(x),y=(x),则则z z对对x x的函数的函数:z=f(x):z=f(x)叫做叫做z z对对x x的复合函数。求的复合函数。求z z对对x x的复合函数的复合函数z=f(x)z=f(x)的过程叫做复合函数运算的过程叫做复合函数运算。n格式为:格式为:compose(f,g)compose(f,g)当当f=f(x)f=f(x)和和g=g(y)g=g(y)时,返回复合
16、函数时,返回复合函数f(g(y),f(g(y),即用即用g=g(y)g=g(y)代入代入f(x)f(x)中的中的x x,且,且x x为函数命令为函数命令findsymfindsym()()确定的确定的f f的自变量,的自变量,y y为为findsymfindsym()()确定的确定的g g的自变量。的自变量。例:例:symssyms x t u y;x t u y;f=log(x/t);f=log(x/t);g=u*g=u*cos(ycos(y););cfgcfg=compose(f,g)=compose(f,g)nf.反函数的运算与函数命令反函数的运算与函数命令finverse()n格式格式
17、1.g=finverse(f)求符号函数求符号函数f的反函数的反函数g,符号函数符号函数表达式表达式f有单变量有单变量x,函数函数g也是符号也是符号函数。函数。n格式格式2.g=finverse(f,v)求符号函数的自变量为求符号函数的自变量为v的反函数的反函数gn例:求函数例:求函数y=ax+b的反函数。的反函数。syms a b xy=a*x+b;g=finverse(y)n例:求函数的反函数。例:求函数的反函数。syms x y;f=x2+y;g=finverse(f,x)4.MATLAB4.MATLAB符号微积分运算符号微积分运算n(1)MATLAB符号极限运算命令符号极限运算命令li
18、mit()n格式格式1.limit(F,x,a)计算符号函数或符号表达式计算符号函数或符号表达式F当变量当变量xa条件下的极限值。条件下的极限值。n例:试证明例:试证明 与与 相等。相等。clearsyms n x;y1=limit(1+(1/n)n,n,inf)y2=limit(2*x+3)/(2*x+1)(x+1),x,inf)n格式格式2.limit(F,a)计算符号函数或符号表达式计算符号函数或符号表达式F中由命令中由命令findsym()返回的独立变量趋向返回的独立变量趋向于于a时的极限值。时的极限值。n例:试求例:试求clearsyms x m a;limit(x(1/m)-a(1
19、/m)/(x-a),a)n格式格式3.limit(F)计算符号函数或符号表达式计算符号函数或符号表达式F在在x=0时的极时的极限。限。n例:试求例:试求clearsyms xc=limit(tan(2*x)/sin(5*x)n格式格式4.limit(F,x,a,right)计算符号函数或符号表达式计算符号函数或符号表达式F在在 条件下的极限值。条件下的极限值。n格式格式5.limit(F,x,a,left)计算符号函数或符号表达式计算符号函数或符号表达式F在在 条件下的极限值。条件下的极限值。(2)MATLAB符号微分运算函数符号微分运算函数diff()n格式格式1.diff(f,v,n)对符
20、号表达式或函数对符号表达式或函数f指定的自变量指定的自变量v计算计算其其n阶导数。阶导数。n格式格式2.diff(f,n)功能是对符号表达式或函数功能是对符号表达式或函数f按按findsym()命命令确定的自变量计算其令确定的自变量计算其n阶导数。阶导数。n例:已知函数例:已知函数 试求试求syms a t x;f=a t5;t*sin(x)log(x);df=diff(f)dfdt2=diff(f,t,2)dfdxdt=diff(diff(f,x),t)(3)MATLAB符号函数积分运算命令符号函数积分运算命令int()n格式格式1.int(S)计算符号函数或表达式计算符号函数或表达式S S
21、对函数对函数findsymfindsym()()返回的符号变量的不定积分。如果返回的符号变量的不定积分。如果S S为常数,则为常数,则积分针对积分针对x.x.n格式格式2.int(S,v)计算符号函数或函数表达式计算符号函数或函数表达式S S对对指定的符号变量指定的符号变量v v的不定积分。的不定积分。n格式格式3.int(S,v,a,b)计算符号函数或表达式计算符号函数或表达式S S对指对指定的符号变量定的符号变量v v从下限从下限a a到上限到上限b b的定积分。的定积分。n格式格式4.int(S,a,b)计算符号函计算符号函 或表达式或表达式S S对函对函findsymfindsym()
22、()返回的符号变量从返回的符号变量从a a到到b b的定积分。的定积分。n 例:已知导函数例:已知导函数 求原函数求原函数f(x)。syms a n x;dfdx=2*x xn;1/x ax;f=int(dfdx)n 例:已知函数例:已知函数 与与求定积分求定积分syms a b xl=int(sym(1),x,a,b)syms a b xI=int(x2,a,b)n 例:试计算定积分例:试计算定积分与与 syms w x;I1=int(2*sin(w)/w,w,0,inf)f=sin(x/2)6;I2=int(f,x,0,pi)5 5MATLABMATLAB符号代数方程求解命令符号代数方程求
23、解命令solvesolve()()n对方程所求出的所有解,一定要逐一带回到原对方程所求出的所有解,一定要逐一带回到原方程进行校验。方程进行校验。n格式:格式:solve(eqn1,eqn2,.,equN,v1,v2,.,vN)n例:解方程组例:解方程组在在a=1,b=2,c=3时的时的x,y,z。syms x y z a b c;a=1;b=2;c=3;eq1=y2-z2-x2eq2=y+z-aeq3=x2-b*x-cx,y,z=solve(eq1,eq2,eq3,x,y,z)6.MATLAB6.MATLAB符号微分方程求解符号微分方程求解n 格式:格式:S=dsolve(equn1,equn
24、2,.,初始条件部分初始条件部分,指定独立变量部分指定独立变量部分)n特别规定当特别规定当y为因变量时,用为因变量时,用“Dny”表示表示“y的的n阶导数阶导数”。n初始条件初始条件 与与 分别写成分别写成y(a)=b和和Dy(c)=d等。等。n独立变量若没有指定的话,则默认小写字独立变量若没有指定的话,则默认小写字母母t为独立变量。为独立变量。n例:求微分方程组的通解:例:求微分方程组的通解:syms x y t;x,y=dsolve(Dx+2*x+Dy+y=t,Dy+5*x+3*y=t2,t)n例:求微分方程组的通解以及满足所给初例:求微分方程组的通解以及满足所给初始条件的特解:始条件的特
25、解:n求通解:求通解:syms x y;x,y=dsolve(Dx=y,Dy=-x,t)n求特解:求特解:syms x y t;x,y=dsolve(Dx=y,Dy=-x,x(0)=0,y(0)=1,t)n5.2 5.2 多项式与内插多项式与内插n设设n阶多项式阶多项式 p(x)=anxn+an-1xn-1+a1x+a0 n1.多项式表示多项式表示n阶的多项式阶的多项式p(x)长度为长度为n+1的行向量的行向量p。元素为多项式的系数,并按元素为多项式的系数,并按x的幂降序排列的幂降序排列,p=an an-1 a1 a0。函数函数poly2sym(p)可将多项式向量可将多项式向量p表示表示成符号
26、形式的多项式成符号形式的多项式。n2 2.多项式的根多项式的根 roots(p)计算方程计算方程p(x)=0的解。的解。n3.3.特征多项式特征多项式n如果多项式如果多项式p的根存储在向量的根存储在向量r中,那么中,那么poly(r)则可从根向量则可从根向量r中恢复多项式中恢复多项式p。n矩阵矩阵的特征多项式的特征多项式:构造一个矩阵构造一个矩阵sI sI-A-A,并求并求出该矩阵的行列式,则可得出一个多项式出该矩阵的行列式,则可得出一个多项式C(s)C(s)C(s)=det(sI-A)=sn+c1sn-1+cn-1s+cn 多项式多项式C(s)C(s)称为矩阵称为矩阵A A的特征多项式,系数
27、的特征多项式,系数c ci i,i,i=1,2,=1,2,n,n称为矩阵的特征多项式的系数。称为矩阵的特征多项式的系数。c=poly(A)为求取矩阵为求取矩阵A特征多项式系数的函数特征多项式系数的函数 n4.4.多项式及多项式矩阵的求值多项式及多项式矩阵的求值多项式的求值函数多项式的求值函数polyval()n格式:格式:polyval(p,x)其中其中x x为标量,为标量,p=ap=an n a an-1 n-1 a a1 1 a a0 0 为多项式为多项式系数降幂排列构成的向量,系数降幂排列构成的向量,计算多项式计算多项式p p的的自变量为自变量为x x时,多项式的值。时,多项式的值。n多
28、项式矩阵的求值函数多项式矩阵的求值函数polyvalm()n格式:格式:polyvalm(p,A)其中其中A A为一个给定矩阵,为一个给定矩阵,p=ap=an n a an-1n-1 a a1 1 a a0 0 为多项式系数降为多项式系数降幂排列构成的向量,幂排列构成的向量,命令命令B=B=polyvalm(p,Apolyvalm(p,A)返回的矩阵返回的矩阵B B是下面的矩阵多项式的值是下面的矩阵多项式的值 B=anAn+an-1An-1+a1A+a0In5.5.多项式卷积和去卷积多项式卷积和去卷积nconv(p,q)计算多项式计算多项式p和和q的乘积,也可以的乘积,也可以认为是认为是p和和
29、q的卷积。的卷积。nq,r=deconv(c,b)计算多项式计算多项式c除除b。q是是商多项式,商多项式,r是残数(余数)多项式。是残数(余数)多项式。n6.多项式求导多项式求导见课本P166n7.多项式曲线拟合多项式曲线拟合见课本P166n8.部分分式展开部分分式展开见课本P166n9.9.一维内插一维内插 已知函数已知函数y=f(x)y=f(x)在若干点在若干点x xi i的函数值的函数值y yi i=f(xf(xi i),i=0,1,i=0,1,n,n 一个插值问题就是求一简单的函数一个插值问题就是求一简单的函数p(x)p(x)满足满足 p(xp(xi i)=)=y yi i,i=0,1
30、,i=0,1,n,n 则则p(x)p(x)为为f(x)f(x)的的插值函数插值函数,而,而f(x)f(x)为为被插值函被插值函数数或或插值原函数插值原函数,x0,x1,x0,x1,xnxn为为插值点插值点,p(xp(xi i)=)=y yi i式式 为为插值条件插值条件。多项式内插见课本多项式内插见课本P167。n例:正弦曲线的插值示例。例:正弦曲线的插值示例。x=0:2:10;y=sin(x);xi=0:0.25:10;yi=interp1(x,y,xi,*spline);plot(x,y,o,xi,yi)5.3 5.3 范函分析范函分析 n1.函数在函数在MATLAB中的表示中的表示例:f
31、unction y=g(x)y=(5.*-6.4)./(x-1.3).2+0.002)+(9.*x)./(x.3+0.03)-.(x-0.4)./(x-0.92).2+0.005);n2.数学函数的绘图数学函数的绘图用用plot命令命令可以画出函数的图形:可以画出函数的图形:x=linspace(0,2);%生成向量生成向量xplot(x,g(x);%画画g(x)图形图形grid;%画格栅画格栅title(The g(x)function)%给出图标题给出图标题或者使用或者使用fplot命令命令:fplot(g,0 2);%画画g(x)图形图形grid;%画格栅画格栅title(The g(x
32、)function)%给出图标题给出图标题3.3.函数极小值点和零值点函数极小值点和零值点n(1)fmin命令命令 求单变量函数的最小值;n格式:格式:fmin(F,x1,x2)fmin(F,x1,x2,options)fmin(F,x1,x2,options,p1,p2)n(2)fmins命令命令 求多变量函数的最小值,求多变量函数的最小值,同时它还要求有一个初始向量。同时它还要求有一个初始向量。n格式:格式:fmins(F,x0)fmins(F,x0,options)n(3)fzero命令命令 求单变量函数的零点。求单变量函数的零点。n格式:格式:fzero(F,x)4.4.数值积分数值积
33、分 常常见见的一元函数数的一元函数数值积值积分指令分指令quadquad自适自适应应辛普森辛普森积积分分sumsum等等宽宽矩形法矩形法求定求定积积分分quadlquadl 自适自适应应LobattoLobatto积积分分 trapztrapz 采用梯形法采用梯形法求定求定积积分分quad8quad8 牛牛顿顿8 8段段积积分分fnintfnint 采用采用样样条函数条函数求不定求不定积积分分n格式:y,n=quad(F,a,b,TOL)y,n=quad8(F,a,b,TOL)trapz(x,y)n 例:用不同的方法来计算积分例:用不同的方法来计算积分A使用使用trapz命令。命令。x1=li
34、nspace(0,1,5);x2=linspace(0,1,10);y1=exp(-x1.2);y2=exp(-x2.2);format long;intergal1=trapz(x1,y1),intergal2=trapz(x2,y2)nB 使用使用quad命令。命令。function y=intergrand(x)y=exp(-x.2);integralStd=quad(intergrand,0,1)integralTol=quad(intergrand,0,1,0.000001)(2 2)双重定积分)双重定积分n格式:I=dblquad(F,x_m,x_M,y_m,y_M,TOL)n例:
35、计算二重积分例:计算二重积分ufunction y=integrand2(x,y)y=exp(-x.2-y.2);dblquad(integrand2,0,1,0,1)nThe MathWorks公司的网站上免费下载数公司的网站上免费下载数值积分工具箱(值积分工具箱(NIT),),用其中的函数用其中的函数quad2dggen()来求解来求解(3 3)inlineinline()()函数函数 n例:求例:求nf=inline(1/sqrt(2*pi)*exp(-x.2/2),x)ny,n=quad(f,-8,8)5.3 5.3 线形代数线形代数1 1MATLABMATLAB中的矩阵中的矩阵2 2
36、向量的范数和矩阵的范数向量的范数和矩阵的范数n(1)向量的范数向量的范数是一个标量,用来衡量向是一个标量,用来衡量向量的长度量的长度。n向量向量x=x1,x2,xn,则它的则它的p范数定义为范数定义为 n常用的范数常用的范数p=2时,时,2范数范数/欧几里德范数欧几里德范数/欧拉范数欧拉范数 函数为函数为norm(x)或或norm(x,2)p时,时,范数范数/最大值范数最大值范数 函数为函数为norm(x,inf)p=1时,时,1范数范数 函数为函数为norm(x,1)n如果要求如果要求p范数范数,函数为函数为norm(x,p)nnorm(x,-inf),求求向量向量x的元素的绝对值的元素的绝
37、对值的最小值的最小值。(2)矩阵的范数矩阵的范数用来衡量矩阵大小用来衡量矩阵大小 设A是一个n*n的方阵,则它的p范数定义为:n常用的范数常用的范数p=1时,时,1范数范数,即,即A的列向量之和的最大的列向量之和的最大值值,函数为,函数为norm(A,1)。p=2时,时,2范数范数,即为,即为A矩阵的最大奇异值矩阵的最大奇异值,函数为函数为norm(A,2)或或norm(A)。无穷范数无穷范数,即,即A的行向量之和的最大值的行向量之和的最大值,函,函数为数为norm(A,inf)。n3.3.线性代数方程求解线性代数方程求解n线性方程为线性方程为AX=B或或XA=B:n当当A为为方阵方阵时时,解
38、,解为为X=AB或或X=B/A。当矩阵当矩阵A A非奇异时,线形方程有唯一解;非奇异时,线形方程有唯一解;当当A A 奇异时,线形方程的解要么不存在,要么奇异时,线形方程的解要么不存在,要么不唯一。不唯一。n当当A为(为(m*n)维矩阵时维矩阵时,如果如果mn,超定方程,最小二乘法来求解。超定方程,最小二乘法来求解。如果如果nm,欠定方程组,通常有无穷组解。欠定方程组,通常有无穷组解。例:例:A=1 1 1;1 2 3,b=2 3%则则Ax=b为欠定方程为欠定方程 x=Abn数据建模数据建模n数据建模的两大类方法:数据建模的两大类方法:一类是一类是插值插值方法,严格遵从数据;方法,严格遵从数据
39、;另一类是另一类是拟合拟合方法,允许在数据点上有误方法,允许在数据点上有误差,但要求达到某种指标最小化。差,但要求达到某种指标最小化。n常用的两种误差指标:常用的两种误差指标:n一一种按照误差向量的种按照误差向量的范数定义,称为范数定义,称为一致一致数据拟合数据拟合。n另一种按照误差向量的另一种按照误差向量的2范数定义,称为范数定义,称为最最小二乘数据拟合小二乘数据拟合。n4.4.矩阵求逆矩阵求逆ndet(A)求方阵求方阵A的行列式。的行列式。nrank(A)求求A的秩。的秩。ninv(A)求方阵求方阵A的逆矩阵。的逆矩阵。npinv(A)求矩阵求矩阵A的伪逆。的伪逆。如果如果A A是是m m
40、n n的矩阵,则伪逆的大小为的矩阵,则伪逆的大小为n nm m。对于非奇矩阵对于非奇矩阵A A来说,有来说,有pinv(Apinv(A)=inv(A)=inv(A)。伪逆:伪逆:如果如果A与与X互为伪逆阵,则有互为伪逆阵,则有AXA=A、XAX=X、且、且AX和和XA是对称阵是对称阵。例:例:A=1 2 3;4 5 6;7 8 9;A=1 2 3;4 5 6;7 8 9;rank(A)rank(A)X=X=pinv(Apinv(A)A*X*A A*X*A X*A*X X*A*X A*X A*X X*A X*Antrace(A)求矩阵求矩阵A A的迹,也就是对角线元素之和。的迹,也就是对角线元素
41、之和。nV,D=eig(A)返回方阵返回方阵A A的特征值和特征向量。的特征值和特征向量。其中其中D D为为A A的特征值构成的对角阵,每个特征值的特征值构成的对角阵,每个特征值对应的对应的V V的列为属于该特征值的一个特征向量。的列为属于该特征值的一个特征向量。如果只有一个返回变量,则得到特征值构成的如果只有一个返回变量,则得到特征值构成的列向量。列向量。5.LU5.LU、QRQR分解分解 nLULU分解分解:令令A=LUA=LU,其中其中U U是一个是一个上三角矩阵上三角矩阵,L L是一个带有是一个带有单位对角线的下三角矩阵单位对角线的下三角矩阵 。Ax=bLUx=b Ly=b Ux=y
42、若得到若得到L、U两个三角阵后,两个三角阵后,y=Lb,x=Uy,即即x=U(Lb)。正交阵正交阵:如果如果方阵方阵A A满足满足AAAA=A=AA=IA=I。nQRQR分解:分解:假设假设A A是是n n阶方阵,那么阶方阵,那么A A就可以分就可以分解成解成A=QRA=QR。其中其中Q Q是一个正交矩阵是一个正交矩阵,R R是一个大小和是一个大小和A A相同的上三角矩阵相同的上三角矩阵。6.6.矩阵函数矩阵函数根据级数展开定义的根据级数展开定义的 nexpm(A)矩阵指数矩阵指数nlogm(A)矩阵对数矩阵对数nsqrtm(A)矩阵开方矩阵开方nfunm(A,funname)任意矩阵函数任意
43、矩阵函数例如例如 7.7.特征值特征值 见课本见课本P163n8.8.奇异值分解奇异值分解n奇异值分解:奇异值分解:矩阵矩阵A A,m*nm*n阶,分解成阶,分解成A=USVA=USVT T,其中其中U U是是m m阶正交阵阶正交阵,V V是个是个n n阶正交阵阶正交阵,S S为为如下形式的如下形式的m*nm*n阶对角阵阶对角阵其其对角线元素非负,且降序排列对角线元素非负,且降序排列,即,即 。奇异值分解的函数奇异值分解的函数 U,S,V=svd(A)病态问题:病态问题:矩阵中某个参数有一微小的矩阵中某个参数有一微小的变化将严重影响到原矩阵的参数。变化将严重影响到原矩阵的参数。例:例:x1=1
44、.220,x2=-0.3084,x3=2.298 X1=1X2=1X3=1n条件数:条件数:矩阵最大的奇异值矩阵最大的奇异值 maxmax与最小的奇异与最小的奇异值值 minmin的比值称为矩阵的条件数,记作的比值称为矩阵的条件数,记作condAcondA,计算条件数的函数计算条件数的函数cond(Acond(A)。n条件数就反映了对参数数据误差的敏感性程度。条件数就反映了对参数数据误差的敏感性程度。条件数很大的数值问题即为病态问题。条件数很大的数值问题即为病态问题。5.5 5.5 数据分析与统计数据分析与统计n概率统计的用途概率统计的用途气象预报、水文预报、地震预报以及产品的抽样验收气象预报
45、、水文预报、地震预报以及产品的抽样验收 研制新产品研制新产品-进行试验设计和数据处理进行试验设计和数据处理 工程可靠性研究工程可靠性研究-估计出系统使用的可靠性及平均寿估计出系统使用的可靠性及平均寿命命自动控制原理自动控制原理-给出数学模型给出数学模型通信工程通信工程-提高系统的抗干扰性和分辨率提高系统的抗干扰性和分辨率 n常用的概率统计软件常用的概率统计软件SAS SAS MATLAB-Statistic ToolboxMATLAB-Statistic Toolbox n注意:注意:MATLABMATLAB按列操作的特点,对于要进按列操作的特点,对于要进行数据分析的矩阵,每一列代表一个变量行
46、数据分析的矩阵,每一列代表一个变量的多个采样值,即列数对应于变量数,行的多个采样值,即列数对应于变量数,行数代表对每个变量的采样点数。数代表对每个变量的采样点数。1.1.数据比较数据比较nmax max 求随机变量的最大值元素求随机变量的最大值元素。nnanmaxnanmax 求随机变量的忽略求随机变量的忽略NaNNaN的最大值元素。的最大值元素。nminmin 求随机变量的最小值元素。求随机变量的最小值元素。nnanminnanmin 求随机变量的忽略求随机变量的忽略NaNNaN的最小值元素。的最小值元素。nmedianmedian 求随机变量的中值。求随机变量的中值。nnanmediann
47、anmedian 求随机变量的忽略求随机变量的忽略NaNNaN的中值。的中值。nmadmad 求随机变量的绝对差分平均值。求随机变量的绝对差分平均值。nsortsort 对随机变量有小到大升序排列。对随机变量有小到大升序排列。nsortrowssortrows 对随机矩阵按首行进行行排序。对随机矩阵按首行进行行排序。nrange range 求随机变量的值范围,即最大值与最小值的差求随机变量的值范围,即最大值与最小值的差。n例:例:A=4 3 1;8 6 2;-3 0 1B=max(A)C=median(A)D=mad(A)E=sort(A)F=sortrows(A)G=range(A)2.2
48、.简单数学期望和几种均值简单数学期望和几种均值n数学期望数学期望 当给定的一组样本值时当给定的一组样本值时 nmean 求随机变量的算术平均值函数。求随机变量的算术平均值函数。nnanmean 求随机变量的忽略求随机变量的忽略NaN的平均值。的平均值。ngeomean 求随机变量的几何平均,求随机变量的几何平均,即即n例例:A=1 2 3;4 5 6;7 8 NaN B=mean(A)C=nanmean(A)D=geomean(A)例例:求求E(x)和)和E(3x2+5)x x-2-20 02 2P Pk k0.40.40.30.30.30.3E(x)的值)的值x=-2 0 2;Pk=0.4
49、0.3 0.3;sum(x.*Pk)E(3x2+5)的值的值z=3*x.2+5sum(z.*Pk)3.3.累积和累和累积和累和nsumsum 求向量或矩阵的元素累和求向量或矩阵的元素累和nnansumnansum 忽略忽略NaNNaN求向量或矩阵的元素累和。求向量或矩阵的元素累和。ncumsumcumsum 对向量求此元素和之前的元素的累对向量求此元素和之前的元素的累加和,对于矩阵按列求此元素和之前的元素加和,对于矩阵按列求此元素和之前的元素的累加和。的累加和。nprod prod 求向量或矩阵的元素累积。求向量或矩阵的元素累积。ncumprodcumprod 对向量求此元素和之前的元素的累对
50、向量求此元素和之前的元素的累积,对于矩阵按列求此元素和之前的元素的积,对于矩阵按列求此元素和之前的元素的累积。累积。4.4.方差和标准差方差和标准差n方差方差n标准差标准差n样本方差为样本方差为n样本标准差样本标准差 nvarvar 方差函数方差函数varvar(x x)若若x x为向量则返回向量为向量则返回向量的样本方差值,若的样本方差值,若x x为矩阵则返回矩为矩阵则返回矩阵列向量的方差组成的行向量。阵列向量的方差组成的行向量。varvar(x x,1 1)函数返回向量(矩阵)函数返回向量(矩阵)x x的简单方差(即置前因子为)。的简单方差(即置前因子为)。varvar(x x,w w)函