资源描述
第三讲第三讲 MatlabMatlab在微积分和线性代在微积分和线性代数中的应用数中的应用 主要内容主要内容 1.高等数学微积分中的应用 2.线性代数中的应用 3.常微分方程的符号解 4.概率论分析中的应用 1 1、高等数学微积分中的应用、高等数学微积分中的应用 1.1 导数、极值和积分、导数、极值和积分、Taylor公式公式1.1.极限运算极限运算 命 令 功 能limit(f,x,a)计算limit(f,x,inf)计算limit(f,x,a,right)计算单侧极限limit(f,x,a,left)计算单侧极限)(limxfax)(limxfx)(limxfax)(limxfax注意:在左右极限不相等或左右极限有一个不存在时,MATLAB的默认状态是求右极限。1.1.极限运算极限运算 命 令 功 能limit(f,x,a)计算limit(f,x,inf)计算limit(f,x,a,right)计算单侧极限limit(f,x,a,left)计算单侧极限)(limxfax)(limxfx)(limxfax)(limxfax注意:在左右极限不相等或左右极限有一个不存在时,MATLAB的默认状态是求右极限。1.1 导数、极值和积分、导数、极值和积分、Taylor公式公式 例.求极限 与极限 syms x;y1=(1+4*x)(1/x);y2=(exp(x)-1)/x;limit(y1,x,0)limit(y2,x,0)xxx10)41(limxexx1lim0例.求极限 syms x;y=sqrt(x)-2(-1/x);limit(y,x,0,right)2(lim10 xxx 2.2.求导运算求导运算(1 1)一元函数的求导)一元函数的求导 diff(f)diff(f,n)diff(f)diff(f,n)例.求函数 的二阶 导数 syms x;f=3*x3+5*x+1;diff(f,2)1533 xx例.设 ,求 syms x;y=3*x2-2*x+1;B=diff(y),x=1;eval(B)1233xxy1xy (2 2)多元函数的偏导数)多元函数的偏导数 diff(f,xi)diff(f,xi,n)diff(f,xi)diff(f,xi,n)例12.求 关于x的偏导数。syms x y;z=x2*sin(2*y);B=diff(z,x)yxz2sin2 3.3.积分运算积分运算(1 1)一元函数的不定积分)一元函数的不定积分 int(f)int(f)求函数求函数f f对默认变量的不定积分,用于函数只有一对默认变量的不定积分,用于函数只有一 个变量的情况个变量的情况 int(f,v)int(f,v)求符号函数求符号函数f f对变量对变量v v的不定积分的不定积分例.计算 syms x;y=1/(sin(x)2*cos(x)2);int(y)pretty(int(y)dxxx22cossin1例.计算 syms x z;B=int(x/(1+z2),z)dzzx21 (2 2)一元函数的定积分)一元函数的定积分 int(f,x,a,b)int(f,x,a,b)用微积分基本公式计算定积分用微积分基本公式计算定积分badxxf)(例.求 syms x;y=(x2+sin(x)/(1+x2);int(y,x,-1,1)11221sindxxxx(3 3)多重积分运算)多重积分运算 int(int(f,y),x)int(int(f,y),x)计算不定积分计算不定积分 int(int(f,y,c,d),x,a,b)int(int(f,y,c,d),x,a,b)计算不定积分计算不定积分 dyyxfdx),(dcbadyyxfdx),(例.计算 syms x y;int(int(x2+y2+1,y,x,x+1),x,0,1)12210)1(xxdxdyyx 4.4.函数的函数的TaylorTaylor展开展开 taylor(f)taylor(f)将函数将函数f f展开成默认变量的展开成默认变量的6 6阶麦克劳林阶麦克劳林(Maclaurin)Maclaurin)公式公式 taylor(f,n)taylor(f,n)将函数将函数f f展开成默认变量的展开成默认变量的n n阶麦克劳林阶麦克劳林(Maclaurin)Maclaurin)公式公式 taylor(f,n,v,a)taylor(f,n,v,a)将函数将函数f(v)f(v)在在v=av=a处展开成处展开成n n阶阶TaylorTaylor公式公式例.将函数 展开为x的6阶麦克劳林(Maclaurin)公式 syms x;f=x*atan(x)-log(sqrt(1+x2);taylor(f)21lnarctan)(xxxxf例.将函数 展开为关于(x-2)的最高次为4的幂级数 syms x;f=1/x2;taylor(f,4,x,2);pretty(taylor(f,4,x,2)21)(xxf 1.2 数值微分与数值积分在数值微分与数值积分在MATLAB中的实现中的实现数值微分数值微分 数值微分是用离散的方法近似地计算函数数值微分是用离散的方法近似地计算函数y=f(x)y=f(x)在某点在某点x=ax=a处的导数值,通常仅当函数以离散数值形式给出时才处的导数值,通常仅当函数以离散数值形式给出时才有这种必要。有这种必要。diff(x)diff(x)1.2 数值微分与数值积分在数值微分与数值积分在MATLAB中的实现中的实现2.2.用数值方法计算定积分用数值方法计算定积分(1)(1)复合梯形公式复合梯形公式 trapz(x,y)trapz(x,y)(2)(2)复合辛普生公式复合辛普生公式 quad(quad(funfun,a,b,tol,trace),a,b,tol,trace)quadl(quadl(funfun,a,b,tol,trace),a,b,tol,trace)例.用复合梯形公式和复合辛普生公式求 syms x;x=2:0.1:5;y=log(x)./(x.2);t=trapz(x,y);ff=inline(log(x)./(x.2),x );q=quad(ff,2,5);disp(blanks(3)梯形法求积分 blanks(3)辛普生法求积分),t,q dxxx522ln (3)(3)用数值方法计算二重积分用数值方法计算二重积分 dblquad(dblquad(funfun,xmin,xmax,ymin,ymax),xmin,xmax,ymin,ymax)计算二重积分计算二重积分 maxminmaxmin),(yyxxdyyxfdx例.计算 ,其中D是由y=1,x=4,x=0,y=0所围成的区域 Q=dblquad(inline(x*y),0,4,0,1)Dxydxdy 线性方程和非线性方程在线性方程和非线性方程在MATLAB中的各种求解方法中的各种求解方法求多项式方程的根求多项式方程的根 roots(p)roots(p)solve(p)solve(p)例.求方程 的所有根 p=1-4 9-10 r=roots(p)或 s1=sym(x3-4*x2+9*x-10);solve(s1)0109423xxx 2.2.求超越方程的根求超越方程的根例.求方程 的根,其中p,r为常数 ff=sym(p*sin(x)=r)solve(ff,x)rxpsinsolve命令还可以用来求解方程组例.求方程组 的根 x,y=solve(x+y=1,x-11*y=5,x,y)5111yxyx 求和求和(1)(1)向量或矩阵求和向量或矩阵求和 sum(x)sum(x)求向量求向量x x的和或者是矩阵每一列向量的和的和或者是矩阵每一列向量的和例.a=1:5;A=1 2 3;2 3 4;7 8 9;sum(a)sum(A)1.4 MATLAB中求和及求极值方法中求和及求极值方法 (2)(2)级数求和级数求和 symsum(s,v,a,b)symsum(s,v,a,b)对表达式对表达式s s的符号变量的符号变量v v从从v=av=a到到v=bv=b进行求和进行求和例.求 syms k n;f=k3;symsum(f,k,0,n-1)103nkk例.求 syms x k;symsum(xk/sym(k!),k,0,inf)0!kkkx 2.2.求函数的极值点求函数的极值点(1)(1)求一元函数的极值问题求一元函数的极值问题 fminbnd(fun,x1,x2)fminbnd(fun,x1,x2)在区间在区间 x1,x2x1,x2内求函数内求函数funfun的极小值点的极小值点例.f=inline(sin(x)+3);x=fminbnd(f,2,5)(2)(2)求多元函数的极值问题求多元函数的极值问题 fminsearch(fun,x0)fminsearch(fun,x0)用单纯形法求多元函数用单纯形法求多元函数funfun在在x0 x0附近的极值点附近的极值点 fminunc(fun,x0)fminunc(fun,x0)用拟牛顿法求多元函数用拟牛顿法求多元函数funfun在在x0 x0附近的极值点附近的极值点 函数插值函数插值(1)(1)一维插值一维插值 Y1=interp1(x,y,X1,Y1=interp1(x,y,X1,methodmethod)功能:根据已知的数据功能:根据已知的数据(x,y)x,y),用用methodmethod方法进行插值,然后计算方法进行插值,然后计算 X1X1对应的函数值对应的函数值Y1.Y1.1.5 函数插值与曲线的拟合函数插值与曲线的拟合 (1)(1)一维插值一维插值例.对 ,用11个节点作三种插值,并比较其结果.x0=-5:0.5:5;y0=1./(1+x0.2);x=-5:0.2:5;y1=interp1(x0,y0,x,linear);y2=interp1(x0,y0,x,spline);y3=interp1(x0,y0,x,nearst);subplot(2,2,1),plot(x0,y0,r-p),title(y=1/(1+x2);subplot(2,2,2),plot(x0,y0,r-,x,y1),title(linear);subplot(2,2,3),plot(x0,y0,r-,x,y2),title(spline);subplot(2,2,4),plot(x0,y0,r-,x,y3),title(nearst);55,112xxy (2 2)二维插值二维插值 Z1=interp2(x,y,z,X1,Y1,Z1=interp2(x,y,z,X1,Y1,methodmethod)功能:根据已知的数据功能:根据已知的数据(x,y,z)x,y,z),用用methodmethod方法进行插值,然后计方法进行插值,然后计 算算(X1,Y1)X1,Y1)对应的函数值对应的函数值Z1.Z1.2.2.曲线的拟合曲线的拟合(1)(1)多项式拟合多项式拟合 p,s=polyfit(x,y,n)p,s=polyfit(x,y,n)功能:对于已知的数据组功能:对于已知的数据组x,yx,y进行多项式拟合,拟合的多项式的阶进行多项式拟合,拟合的多项式的阶 数为数为n n,其中其中p p为多项式的系数矩阵,为多项式的系数矩阵,s s为预测误差估计值的为预测误差估计值的 矩阵。矩阵。例.x取0至1之间的数,间隔为0.1;y为2.3,2.5,2.1,2.5,3.2,3.6,3.0,3.1,4.1,5.1,3.8,分别用二次、三次、和七次拟合曲线来拟合这组数据,试观察三组拟合曲线哪个效果最好。clf;x=0:0.1:1;y=2.3,2.5,2.1,2.5,3.2,3.6,3.0,3.1,4.1,5.1,3.8;p2=polyfit(x,y,2);p3=polyfit(x,y,3);p7=polyfit(x,y,7);disp(二次拟合曲线),p2disp(三次拟合曲线),p3disp(七次拟合曲线),p7x1=0:0.1:1;y2=polyval(p2,x1);y3=polyval(p3,x1);y7=polyval(p7,x1);plot(x,y,rp,x1,y2,-,x1,y3,k-,x1,y7)legend(拟合点,二次拟合,三次拟合,七次拟合)(2)(2)非线性最小二乘拟合非线性最小二乘拟合 leastsq(leastsq(f f,x0)f,x0)f是是M M函数文件函数文件例30.用表中的一组数据拟合 中系数r,k,并给出图像。ktretc)(t0.250.511.523468c19.2118.1515.3614.1012.989.327.455.243.01建立函数文件 function y=ct(x)t=0.25 0.5 1 1.5 2 3 4 6 8 c=19.21 18.15 15.36 14.10 12.98 9.32 7.45 5.24 3.01 y=c-x(1)*exp(-x(2).*t)(2)建立命令文件 x0=10,0.5 x=leastsq(ct,x0)tt=0:0.2:8 yy=x(1).*exp(-x(2).*tt)plot(tt,yy,-rp)2 2、线性代数中的应用、线性代数中的应用 2.1 MATLAB中向量和矩阵的基本运算中向量和矩阵的基本运算 设设A A、B B为两个矩阵为两个矩阵A+BA+B,A-BA-Bk k*A AA A*B B AB AB 左除左除 A A-1-1B B,A A必须为方阵必须为方阵A/B A/B 右除右除 ABAB-1-1 ,B B必须为方阵必须为方阵det(A)det(A)求求|A|A|,A A必须为方阵必须为方阵inv(A)inv(A)或或A A-1-1AnAnAA或或transpose(A)transpose(A)rank(A)rank(A)1.1.rref(A)rref(A)矩阵行变化化简,求矩阵矩阵行变化化简,求矩阵A A阶梯形的行最简形式阶梯形的行最简形式 例.计算761232193731例.求矩 阵 的转置、逆和行列式。syms a b c d;A=a b;c d;A inv(A)det(A)dcba例.求矩 阵 的秩与行最简形。71100251020214214 2.2矩阵的变换与分解及其在矩阵的变换与分解及其在MATLAB中的实现中的实现矩阵的对角元素矩阵的对角元素(1)(1)函数函数diagdiag可以将一个矩阵的对角元素提取出来可以将一个矩阵的对角元素提取出来 diag(A)diag(A)由矩阵由矩阵A A的对角线元素得到一个列向量的对角线元素得到一个列向量例.A=pascal(3)diag(A)(2)(2)用该函数来产生第用该函数来产生第k k阶对角线上的元素阶对角线上的元素 diag(A,k)diag(A,k)其中,其中,k=0k=0表示主对角线;表示主对角线;k0k0表示在主对角线以上;表示在主对角线以上;k0k0表示表示在主对角线以下。在主对角线以下。例.a=1 2 3 A=diag(a,0),B=diag(a,1),C=diag(a,-1)(3)(3)函数函数blkdiagblkdiag可以根据输入创建一个分块对角矩阵可以根据输入创建一个分块对角矩阵 S=blkdiag(a,b,c,S=blkdiag(a,b,c,)功能:根据输入的功能:根据输入的a,b,ca,b,c等参数构造一个分块对角矩阵等参数构造一个分块对角矩阵例.a=1;b=1 2;3 4;c=9;d=1-1;2-2;3-3 S=blkdiag(a,b,c,d)2.2.矩阵的分解矩阵的分解矩阵的奇异值分解矩阵的奇异值分解 s=svd(A)s=svd(A)U,S,V=svd(A)U,S,V=svd(A)U,S,V=svd(A,0)U,S,V=svd(A,0)(2)(2)矩阵的矩阵的LULU分解分解 L,U=lu(A)L,U=lu(A)(2)(2)矩阵的矩阵的QRQR分解分解 Q,R=qr(A)Q,R=qr(A)(2)(2)矩阵的矩阵的CholeskyCholesky分解分解 C=chol(A)C=chol(A)2.3 MATLAB中矩阵特征值和特征向量的求解方法中矩阵特征值和特征向量的求解方法矩阵的特征值与特征向量矩阵的特征值与特征向量 d=eig(A)d=eig(A)返回方阵返回方阵A A的全部特征值组成的特征向量的全部特征值组成的特征向量d d V,D=eig(A)V,D=eig(A)返回矩阵返回矩阵A A的特征值的特征值D D与特征向量矩阵与特征向量矩阵V V,满足满足 AV=VDAV=VD poly(A)poly(A)求矩阵求矩阵A A的特征多项式的特征多项式例.求矩阵 的特征多项式、特征值和特征向量。A=4 6 0;-3-5 0;-3-6 1 P=poly(A)V,D=eig(A)163053064注:求矩阵注:求矩阵A A的特征根的特征根 D=roots(poly(A)D=roots(poly(A)。例.求一个正交变换将二次型 化为标准型 A=1 1 0-1;1 1-1 0;0-1 1 1;-1 0 1 1 P,D=eig(A)syms x1 x2 x3 x4;X=x1;x2;x3;x4 Y=P*X 43324121242322212222xxxxxxxxxxxxf2.2.矩阵的相似对角化矩阵的相似对角化例.化上述矩 阵A为对角阵。D=V-1AV 2.4 线性方程组的直接求解法在线性方程组的直接求解法在MATLAB中的实现中的实现齐次线性方程组的直接求解法齐次线性方程组的直接求解法例.用基础解系表示齐次方程组 的通解。A=1 1 1 1 1;3 2 1 1-3;0 1 2 2 6;5 4 3 3-1;B=null(A,r);syms k1 k2 k3;x=k1*B(:,1)+k2*B(:,2)+k3*B(:,3)033450622032305432154315432154321xxxxxxxxxxxxxxxxxxx 342.2.非齐次线性方程组的直接求解法非齐次线性方程组的直接求解法(1 1)求逆法求逆法 对对AX=BAX=B,若若|A|A|不等于不等于0 0,则解由,则解由inv(A)inv(A)*B B获得获得(2 2)左除法与右除法左除法与右除法例.求非齐次线性方程组 的通解。A=2 3 1 4;1-2 4-5;3 8-2 13;4-1 9-6;rref(A)69413283542432zyxzyxzyxzyx 3.3.符号方程组的求解方法符号方程组的求解方法(1 1)线性方程组线性方程组AX=BAX=B的符号解的符号解 X=linesolve(A,B)X=linesolve(A,B)只给出特解只给出特解例.求 的解。syms a b c;A=a 0 0;0 b 0;B=1;c X=linesolve(A,B)cXba10000 (2 2)非线性方程组的符号解非线性方程组的符号解 x1,x2,x3,x1,x2,x3,=solve(e1,e2,e3,=solve(e1,e2,e3,)例 解 e1=sym(a+b+x=y);e2=sym(2*a*x-b*y=-1);e3=sym(2*(a+b)=x+y);e4=sym(a*y+b*x=4);a,b,x,y=solve(e1,e2,e3,e4)4)(212bxayyxbabyaxyxba 3 3 常微分方程的符号解常微分方程的符号解 3 常微分方程的符号解常微分方程的符号解 r=dsolve(eqn1,eqn2,.,var)r=dsolve(eqn1,eqn2,.,var)r=dsolve(eqn1,eqn2,.,var)r=dsolve(eqn1,eqn2,.,var)功能:求微分方程或微分方程组的通解功能:求微分方程或微分方程组的通解 r=dsolve(eqn1,eqn2,.,r=dsolve(eqn1,eqn2,.,cond1,cond2,.,var)cond1,cond2,.,var)r=dsolve(eqn1,eqn2,.,r=dsolve(eqn1,eqn2,.,cond1,cond2,.,var)cond1,cond2,.,var)功能:求微分方程功能:求微分方程(组组)满足初始条件的特解满足初始条件的特解 在在MatlabMatlab中,约定中,约定D1D1表示一次微分,表示一次微分,D2D2表示二次微分,依此类推,表示二次微分,依此类推,Dn Dn表示表示n n次微分,符号次微分,符号DyDy相当于相当于Dy/DtDy/Dt,默认自变量为默认自变量为t t。例1 求解一阶微分方程 及x=0时的特解。dsolve(Dy=1+y2,x)dsolve(Dy=1+y2,y(0)=1,x)21ydxdy例2 求解二阶微分方程 dsolve(x2*D2y+x*Dy+(x2-1/2)*y=0,y(pi/2)=2,Dy(pi/2)=-2/pi,x)2)2(,2)2(,0)21(22yyyxxyyx 4 4 概率论基础知识及其在概率论基础知识及其在MATLABMATLAB中中的实现的实现 3.1 3.1 随机事件及其概率随机事件及其概率 rand(N)rand(N)返回一个返回一个N NN N的随机矩阵的随机矩阵 rand(N,M)rand(N,M)返回一个返回一个N NM M的随机矩阵的随机矩阵 rand(P1,P2,rand(P1,P2,Pn),Pn)返回一个返回一个P1P1P2P2PnPn的随机矩阵的随机矩阵 round(X)round(X)对向量或矩阵对向量或矩阵X X的每个分量四舍五入取整的每个分量四舍五入取整 fix(x)fix(x)对对x x朝零方向取整朝零方向取整 floor(x)floor(x)对对x x朝负无穷大方向取整朝负无穷大方向取整 ceil(x)ceil(x)对对x x朝正无穷大方向取整朝正无穷大方向取整二项分布二项分布 binopdf(X,N,P)binopdf(X,N,P)计算二项分布的密度函数计算二项分布的密度函数 binocdf(X,N,P)binocdf(X,N,P)计算二项分布的累积分布函数计算二项分布的累积分布函数 binoinv(X,N,P)binoinv(X,N,P)计算二项分布的逆累积分布函数计算二项分布的逆累积分布函数 binornd(N,P,m,n)binornd(N,P,m,n)产生服从二项分布的产生服从二项分布的m mn n阶随机矩阵阶随机矩阵 binostat(N,P)binostat(N,P)求二项分布的数学期望与方差求二项分布的数学期望与方差3.2 3.2 随机变量的分布及其数学特征随机变量的分布及其数学特征4 概率论基础知识及其在概率论基础知识及其在MATLAB中的实现中的实现 2.2.泊松分布泊松分布 poisspdf(X,LMD)poisspdf(X,LMD)poisscdf(X,LMD)poisscdf(X,LMD)poissinv(Y,LMD)poissinv(Y,LMD)poissrnd(LMD,m,n)poissrnd(LMD,m,n)poisstat(LMD)poisstat(LMD)3.3.超几何分布超几何分布 hygepdf(M,n,k,N)hygepdf(M,n,k,N)hygecdf(M,n,k,N)hygecdf(M,n,k,N)hygeinv(P,n,k,N)hygeinv(P,n,k,N)hygernd(n,k,N,mr,mc)hygernd(n,k,N,mr,mc)hygestat(n,k,N)hygestat(n,k,N)4.4.均匀分布均匀分布 unifpdf(X,A,B)unifpdf(X,A,B)unifcdf(X,A,B)unifcdf(X,A,B)unifinv(P,A,B)unifinv(P,A,B)unifrnd(A,B,m,n)unifrnd(A,B,m,n)unifstat(A,B)unifstat(A,B)5.5.指数分布指数分布 exppdf(X,L)exppdf(X,L)expcdf(X,L)expcdf(X,L)expinv(P,L)expinv(P,L)exprnd(X,L,m,n)exprnd(X,L,m,n)expstat(L)expstat(L)8.8.t t分布分布 tpdf(X,N)tpdf(X,N)tcdf(X,N)tcdf(X,N)tinv(P,N)tinv(P,N)trnd(N,m,n)trnd(N,m,n)tstat(N)tstat(N)9.9.F F分布分布 fpdf(X,M,N)fpdf(X,M,N)fcdf(X,M,N)fcdf(X,M,N)finv(P,M,N)finv(P,M,N)frnd(M,N,m,n)frnd(M,N,m,n)fstat(M,N)fstat(M,N)6.6.正态分布正态分布 normpdf(X,M,C)normpdf(X,M,C)normcdf(X,M,C)normcdf(X,M,C)norminv(P,M,C)norminv(P,M,C)normrnd(M,C,m,n)normrnd(M,C,m,n)normstat(M,C)normstat(M,C)7.7.分布分布 chi2pdf(X,N)chi2pdf(X,N)chi2cdf(X,N)chi2cdf(X,N)chi2inv(P,N)chi2inv(P,N)chi2rnd(N,m,n)chi2rnd(N,m,n)chi2stat(N)chi2stat(N)2 1.1.集中趋势(位置)度量集中趋势(位置)度量 geomean(X)geomean(X)样本的几何平均值样本的几何平均值 harmmean(X)harmmean(X)样本的调和平均值样本的调和平均值 mean(X)mean(X)样本的算术平均值样本的算术平均值 median(X)median(X)样本的中位数样本的中位数 trimmean(X,P)trimmean(X,P)修正的样本均值,计算时剔除样本数据中修正的样本均值,计算时剔除样本数据中 最高最高P P和最低和最低P P后的均值后的均值注:上述命令中,若注:上述命令中,若X X为向量,则返回该向量的各度量值;若为向量,则返回该向量的各度量值;若X X为矩阵,则返为矩阵,则返回矩阵各列的度量值组成的行向量。回矩阵各列的度量值组成的行向量。样本的数字特征样本的数字特征 442.2.离中趋势(散布)度量离中趋势(散布)度量 vqr(X)vqr(X)样本的内四分位数间距样本的内四分位数间距 mad(X)mad(X)样本的平均绝对差样本的平均绝对差 rang(X)rang(X)样本的极差样本的极差 var(X)var(X)样本的方差样本的方差 std(X)std(X)样本的标准差样本的标准差 cov(X)cov(X)或或cov(X,Y)cov(X,Y)样本的协方差样本的协方差3.3.中心矩中心矩 moment(X,k)moment(X,k)4.4.峰度峰度 kurtosis(X)kurtosis(X)偏度偏度 skewness(X)skewness(X)5.5.相关系数相关系数 corrcoef(X)corrcoef(X)
展开阅读全文