




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第五章
MATLAB基本应用领域5.1符号运算Mathworks公司1993年Maple符号计算工具箱(SymbolicToolbox)1.符号运算入门例:solve('a*x^2+b*x+c=0')还可以是:
x=solve('a*x^2+b*x+c')或者
y='a*x^2+b*x+c'x=solve(y)例:对于数学表达式
合并关于x的同类项symsxy;collect(x^2*y+y*x-x^2-2*x)例:三因式连乘积的展开式
symsx;collect((x^2+1)*(x+2)*(x-3))例:求导数
x=sym('x')diff(cos(x)^2)例:求导数
symsx;diff(cos(x^2))例:计算不定积分
symsx;int(x)例:计算定积分
symsxab;int(x^2,a,b)例:求矩阵行列式的值
symsabcd;p=[ab;cd];det(p)例:解一阶微分方程
symsay;dsolve('Dy=a*y')
例:解一阶微分方程
symsay;dsolve('Dy=a*y')
2.MATLAB符号运算的几个基本概念MATLAB数值运算的操作对象是数值,而MATLAB符号运算的操作对象是非数值的符号对象。(1)符号对象(sym类型)存储代表非数值的字符对象。符号对象可以是符号常量(符号形式的数)、符号变量、符号函数以及各种符号表达式等。(2)创建符号对象
格式1:S=sym(A)格式2:symss1s2s3例:
sym('a')
symsa(3)符号常量
例:对数值量1/8创建符号对象。a=sym(1/8)b=sym('1/8')(4)符号变量
例:a=sym('alpha')
symsalpha(5)符号表达式
符号表达式有两类:符号函数与符号方程。例:用sym和syms建立符号函数symsnxtpTwc;f1=n*x^n/xf2=sym(log(t)^2*t+p)f3=pi+atan(T*wc)f4=sym('w+sin(a*z)')例:用sym建立符号方程e1=sym('a*x^2+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)函数命令findsym()确定一个符号表达式中的自变量格式1
findsym(f,n)按数学习惯确定符号函数f中的n个自变量。格式2
findsym(e,n)按数学习惯确定符号方程e中的n个自变量。例:用函数命令findsym()确定符号函数f1,f2中的自变量。symskmnwyz;f=n*y^n+m*y+w;ans1=findsym(f,1)f2=m*y+n*log(z)+exp(k*y*z);ans2=findsym(f2,2)例:用函数命令findsym()确定符号方程e1,e2中的自变量。symsabcxpqtw;e1=sym('a*x^2+b*x+c=0');ans1=findsym(e1,1)e2=sym('2*(sin(p*t+q))=0');ans2=findsym(e2)(7)符号矩阵例:用函数命令sym()来创建符号矩阵m1=sym('[ab
bc
cd;de
ef
fg;hij]');clam1=class(m1)m2=sym('[112;2334]');clam2=class(m2)m3=sym('[ab;cd]*x=0');clam3=class(m3)3.MATLAB符号运算的基本内容(1)符号变量代换及其函数subs()
格式1:subs(S,old,new)
old是符号表达式S中的符号变量,而new可以是符号变量、符号常量、双精度数值与数值数组等。格式2:subs(S,new)
用new置换符号表达式S中的自变量。
例:
已知f=axn+by+k,符号变量替换:a=sint,b=lnw,k=ce-dt;符号常量替换:n=5,k=πk用数值数组替换:k=1:1:4。[解]symsabcdknxywt;f=a*x^n+b*y+kf2=subs(f,[abk],[sin(t)log(w)c*exp(-d*t)])f3=subs(f,[n,k],[5,pi])f4=subs(f,k,1:4)(2)MATLAB符号表达式的化简a.因式分解的函数命令factor()格式:factor(E)factor(sym(N’))—对于大于252的整数的分解例:已知f=x3+x2-x-1,试对其因式分解。symsx;f=x^3+x^2-x-1;f1=factor(f)例:已知试对其因式分解。symsabc;f=a^4*(b^2-c^2)+b^4*(c^2-a^2)+c^4*(a^2-b^2);f1=factor(f)例:已知c=12345678901234567890,试对其进行质因子分解。c=sym('12345678901234567890');factor(c)b.符号表达式展开函数expand()例:用以下MATLAB语句展开:symsxy;f=(x+y)^3;f1=expand(f)c.同类项合并函数collect()格式1.collect(E,v)
将符号表达式E中的v的同幂项系数合并。格式2.collect(E)
将符号表达式E中由函数findsym()确定的默认变量的系数合并。例:symsabcx;f=a*x*exp(-c*x)+b*exp(-c*x);f1=collect(f,exp(-c*x))例:
symsabnxy;f=x^2*y+y*x-a*x^2-b*x;f1=collect(f)
d.符号表达式化简函数simplify()与simple()
格式.
simplify(E)将符号表达式E运用多种恒等式变换进行综合化简。
例:进行综合化简。symsxncalphbeta;e10=sin(x)^2+cos(x)^2;e1=simplify(e10)e20=exp(c*log(alph+beta));e2=simplify(e20)函数simple()调用格式为:格式1.simple(E)对符号表达式E尝试多种不同的简化算法,以得到符号表达式E的长度最短的简化形式。格式2.[R,HOW]=simple(E)功能同格式1,返回参数R为表达式的简化型,HOW为简化过程中使用的简化方法。例:symsxy;e1=log(x)+log(y)[R1,HOW1]=simple(e1)e2=2*cos(x)^2-sin(x)^2[R2,HOW2]=simple(e2)e3=cos(x)+j*sin(x)[R3,HOW3]=simple(e3)e4=x^3+3*x^2+3*x+1[R4,HOW4]=simple(e4)e5=cos(x)^2-sin(x)^2[R5,HOW5]=simple(e5)e.符合函数的运算与函数命令compose()
设z是y的函数z=f(y),而y又是x的函数y=φ(x),则z对x的函数:z=f(φ(x))叫做z对x的复合函数。求z对x的复合函数z=f(φ(x))的过程叫做复合函数运算。格式为:compose(f,g)
当f=f(x)和g=g(y)时,返回复合函数f((g(y)),即用g=g(y)代入f(x)中的x,且x为函数命令findsym()确定的f的自变量,y为findsym()确定的g的自变量。例:symsxtuy;f=log(x/t);g=u*cos(y);cfg=compose(f,g)f.反函数的运算与函数命令finverse()格式1.g=finverse(f)
求符号函数f的反函数g,符号函数表达式f有单变量x,函数g也是符号函数。格式2.g=finverse(f,v)
求符号函数的自变量为v的反函数g例:求函数y=ax+b的反函数。symsabxy=a*x+b;g=finverse(y)例:求函数的反函数。symsxy;f=x^2+y;g=finverse(f,x)4.MATLAB符号微积分运算(1)MATLAB符号极限运算命令limit()格式1.limit(F,x,a)
计算符号函数或符号表达式F当变量x→a条件下的极限值。例:试证明与相等。
clearsymsnx;y1=limit((1+(1/n))^n,n,inf)y2=limit(((2*x+3)/(2*x+1))^(x+1),x,inf)格式2.
limit(F,a)计算符号函数或符号表达式F中由命令findsym()返回的独立变量趋向于a时的极限值。例:试求clearsymsxma;limit(((x^(1/m)-a^(1/m))/(x-a)),a)格式3.limit(F)计算符号函数或符号表达式F在x=0时的极限。例:试求clearsymsxc=limit(tan(2*x)/sin(5*x))格式4.limit(F,x,a,’right’)计算符号函数或符号表达式F在条件下的极限值。格式5.limit(F,x,a,’left’)计算符号函数或符号表达式F在条件下的极限值。(2)MATLAB符号微分运算函数diff()格式1.
diff(f,’v’,n)
对符号表达式或函数f指定的自变量v计算其n阶导数。格式2.
diff(f,n)功能是对符号表达式或函数f按findsym()命令确定的自变量计算其n阶导数。例:已知函数试求symsatx;f=[at^5;t*sin(x)log(x)];df=diff(f)dfdt2=diff(f,t,2)dfdxdt=diff(diff(f,x),t)
(3)MATLAB符号函数积分运算命令int()格式1.
int(S)
计算符号函数或表达式S对函数findsym()返回的符号变量的不定积分。如果S为常数,则积分针对x.格式2.
int(S,v)
计算符号函数或函数表达式S对指定的符号变量v的不定积分。格式3.
int(S,v,a,b)
计算符号函数或表达式S对指定的符号变量v从下限a到上限b的定积分。格式4.
int(S,a,b)
计算符号函或表达式S对函findsym()返回的符号变量从a到b的定积分。
例:已知导函数求原函数f(x)。symsanx;dfdx=[2*xx^n;1/xa^x];f=int(dfdx)
例:已知函数与求定积分symsabxl=int(sym('1'),x,a,b)symsabxI=int(x^2,a,b)
例:试计算定积分与
symswx;I1=int(2*sin(w)/w,w,0,inf)f=sin(x/2)^6;I2=int(f,x,0,pi)5.MATLAB符号代数方程求解命令solve()对方程所求出的所有解,一定要逐一带回到原方程进行校验。
格式:solve('eqn1','eqn2',...,'equN','v1','v2',...,'vN')例:解方程组在a=1,b=2,c=3时的x,y,z。symsxyzabc;a=1;b=2;c=3;eq1=y^2-z^2-x^2eq2=y+z-aeq3=x^2-b*x-c[x,y,z]=solve(eq1,eq2,eq3,'x','y','z')6.MATLAB符号微分方程求解
格式:S=dsolve('equn1','equn2',...,'初始条件部分','指定独立变量部分')特别规定当y为因变量时,用“Dny”表示“y的n阶导数”。初始条件与分别写成y(a)=b和Dy(c)=d等。独立变量若没有指定的话,则默认小写字母t为独立变量。例:求微分方程组的通解:symsxyt;[x,y]=dsolve('Dx+2*x+Dy+y=t','Dy+5*x+3*y=t^2','t')例:求微分方程组的通解以及满足所给初始条件的特解:求通解:symsxy;[x,y]=dsolve('Dx=y','Dy=-x','t')求特解:symsxyt;[x,y]=dsolve('Dx=y','Dy=-x','x(0)=0','y(0)=1','t')5.2多项式与内插设n阶多项式
p(x)=anxn+an-1xn-1+…+a1x+a0
1.多项式表示n阶的多项式p(x)长度为n+1的行向量p。元素为多项式的系数,并按x的幂降序排列,p=[anan-1…a1a0]
。函数poly2sym(p)可将多项式向量p表示成符号形式的多项式。2.多项式的根
roots(p)
计算方程p(x)=0的解。3.特征多项式如果多项式p的根存储在向量r中,那么poly(r)则可从根向量r中恢复多项式p。
矩阵的特征多项式:构造一个矩阵sI-A,并求出该矩阵的行列式,则可得出一个多项式C(s)
C(s)=det(sI-A)=sn+c1sn-1+…+cn-1s+cn
多项式C(s)称为矩阵A的特征多项式,系数ci,i=1,2,…,n称为矩阵的特征多项式的系数。c=poly(A)为求取矩阵A特征多项式系数的函数
4.多项式及多项式矩阵的求值多项式的求值函数polyval()格式:polyval(p,x)
其中x为标量,p=[anan-1…a1a0]为多项式系数降幂排列构成的向量,计算多项式p的自变量为x时,多项式的值。多项式矩阵的求值函数polyvalm()
格式:polyvalm(p,A)
其中A为一个给定矩阵,
p=[anan-1…a1a0]为多项式系数降幂排列构成的向量,命令B=polyvalm(p,A)返回的矩阵B是下面的矩阵多项式的值
B=anAn+an-1An-1+…+a1A+a0I5.多项式卷积和去卷积conv(p,q)
计算多项式p和q的乘积,也可以认为是p和q的卷积。[q,r]=deconv(c,b)
计算多项式c除b。q是商多项式,r是残数(余数)多项式。
6.多项式求导见课本P1667.多项式曲线拟合见课本P1668.部分分式展开见课本P1669.一维内插已知函数y=f(x)在若干点xi的函数值yi=f(xi),i=0,1,…,n
一个插值问题就是求一简单的函数p(x)满足
p(xi)=yi,i=0,1,…,n
则p(x)为f(x)的插值函数,而f(x)为被插值函数或插值原函数,x0,x1,…xn为插值点,p(xi)=yi式为插值条件。多项式内插见课本P167。例:正弦曲线的插值示例。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范函分析
1.函数在MATLAB中的表示例:functiony=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);2.数学函数的绘图用plot命令可以画出函数的图形:x=linspace(0,2);%生成向量xplot(x,g(x));%画g(x)图形grid;%画格栅title('Theg(x)function')%给出图标题或者使用fplot命令:fplot('g',[02]);%画g(x)图形grid;%画格栅title('Theg(x)function')%给出图标题3.函数极小值点和零值点(1)fmin命令
求单变量函数的最小值;格式:fmin(‘F’,x1,x2)
fmin(‘F’,x1,x2,options)
fmin(‘F’,x1,x2,options,p1,p2)
(2)fmins命令求多变量函数的最小值,同时它还要求有一个初始向量。格式:fmins(‘F’,x0)
fmins(‘F’,x0,options)(3)fzero命令求单变量函数的零点。格式:fzero('F',x)4.数值积分
常见的一元函数数值积分指令quad自适应辛普森积分sum等宽矩形法求定积分quadl自适应Lobatto积分trapz采用梯形法求定积分quad8牛顿8段积分fnint采用样条函数求不定积分格式:[y,n]=quad('F',a,b,TOL)
[y,n]=quad8('F',a,b,TOL)
trapz(x,y)
例:用不同的方法来计算积分A.使用trapz命令。x1=linspace(0,1,5);x2=linspace(0,1,10);y1=exp(-x1.^2);y2=exp(-x2.^2);formatlong;intergal1=trapz(x1,y1),intergal2=trapz(x2,y2)B.使用quad命令。functiony=intergrand(x)y=exp(-x.^2);integralStd=quad('intergrand',0,1)integralTol=quad('intergrand',0,1,0.000001)(2)双重定积分格式:
I=dblquad('F',x_m,x_M,y_m,y_M,TOL)
例:计算二重积分functiony=integrand2(x,y)y=exp(-x.^2-y.^2);
dblquad('integrand2',0,1,0,1)
TheMathWorks公司的网站上免费下载数值积分工具箱(NIT),用其中的函数quad2dggen()来求解(3)inline()函数
例:求f=inline('1/sqrt(2*pi)*exp(-x.^2/2)','x')[y,n]=quad(f,-8,8)5.3线形代数1.MATLAB中的矩阵2.向量的范数和矩阵的范数(1)向量的范数是一个标量,用来衡量向量的长度。向量x=[x1,x2,…,xn],则它的p范数定义为
常用的范数p=2时,2范数/欧几里德范数/欧拉范数
函数为norm(x)或norm(x,2)p→∞时,∞范数/最大值范数
函数为norm(x,inf)p=1时,1范数
函数为norm(x,1)如果要求p范数,函数为norm(x,p)norm(x,-inf)
,求向量x的元素的绝对值的最小值。(2)矩阵的范数用来衡量矩阵大小
设A是一个n*n的方阵,则它的p范数定义为:常用的范数p=1时,1范数,即A的列向量之和的最大值,函数为norm(A,1)。p=2时,2范数,即为A矩阵的最大奇异值,函数为norm(A,2)或norm(A)。无穷范数,即A的行向量之和的最大值,函数为norm(A,inf)。3.线性代数方程求解线性方程为AX=B或XA=B:当A为方阵时,解为X=A\B或X=B/A。
当矩阵A非奇异时,线形方程有唯一解;当A奇异时,线形方程的解要么不存在,要么不唯一。当A为(m*n)维矩阵时,如果m>n,超定方程,最小二乘法来求解。如果n>m,欠定方程组,通常有无穷组解。
例:
A=[111;123],b=[23]’
%则Ax=b为欠定方程
x=A\b数据建模数据建模的两大类方法:一类是插值方法,严格遵从数据;另一类是拟合方法,允许在数据点上有误差,但要求达到某种指标最小化。常用的两种误差指标:一种按照误差向量的∞范数定义,称为一致数据拟合。另一种按照误差向量的2范数定义,称为最小二乘数据拟合。4.矩阵求逆det(A)
求方阵A的行列式。rank(A)
求A的秩。inv(A)
求方阵A的逆矩阵。pinv(A)
求矩阵A的伪逆。
如果A是m×n的矩阵,则伪逆的大小为n×m。
对于非奇矩阵A来说,有pinv(A)=inv(A)。伪逆:如果A与X互为伪逆阵,则有AXA=A、XAX=X、且AX和XA是对称阵。例:A=[123;456;789];rank(A)X=pinv(A)A*X*AX*A*XA*XX*Atrace(A)
求矩阵A的迹,也就是对角线元素之和。[V,D]=eig(A)
返回方阵A的特征值和特征向量。
其中D为A的特征值构成的对角阵,每个特征值对应的V的列为属于该特征值的一个特征向量。
如果只有一个返回变量,则得到特征值构成的列向量。5.LU、QR分解
LU分解:令A=LU,
其中U是一个上三角矩阵,
L是一个带有单位对角线的下三角矩阵。
Ax=b→LUx=b→Ly=b①
Ux=y②若得到L、U两个三角阵后,
y=L\b,x=U\y,即x=U\(L\b)。正交阵:如果方阵A满足AA’=A’A=I。
QR分解:假设A是n阶方阵,那么A就可以分解成A=QR。
其中Q是一个正交矩阵,
R是一个大小和A相同的上三角矩阵。6.矩阵函数根据级数展开定义的
expm(A)
矩阵指数logm(A)
矩阵对数sqrtm(A)
矩阵开方funm(A,’funname’)
任意矩阵函数例如
7.特征值
见课本P1638.奇异值分解奇异值分解:矩阵A,
m*n阶,分解成A=USVT,其中U是m阶正交阵,V是个n阶正交阵,S为如下形式的m*n阶对角阵其对角线元素非负,且降序排列,即。奇异值分解的函数
[U,S,V]=svd(A)病态问题:矩阵中某个参数有一微小的变化将严重影响到原矩阵的参数。
例:
x1=1.220,x2=-0.3084,x3=2.298X1=1X2=1X3=1条件数:矩阵最大的奇异值σmax与最小的奇异值σmin的比值称为矩阵的条件数,记作cond{A},计算条件数的函数cond(A)。条件数就反映了对参数数据误差的敏感性程度。条件数很大的数值问题即为病态问题。5.5数据分析与统计概率统计的用途气象预报、水文预报、地震预报以及产品的抽样验收研制新产品---进行试验设计和数据处理工程可靠性研究---估计出系统使用的可靠性及平均寿命自动控制原理---给出数学模型通信工程----提高系统的抗干扰性和分辨率
常用的概率统计软件SASMATLAB----StatisticToolbox
注意:MATLAB按列操作的特点,对于要进行数据分析的矩阵,每一列代表一个变量的多个采样值,即列数对应于变量数,行数代表对每个变量的采样点数。1.数据比较max
求随机变量的最大值元素。nanmax
求随机变量的忽略NaN的最大值元素。min
求随机变量的最小值元素。nanmin
求随机变量的忽略NaN的最小值元素。median
求随机变量的中值。nanmedian
求随机变量的忽略NaN的中值。mad
求随机变量的绝对差分平均值。sort
对随机变量有小到大升序排列。sortrows
对随机矩阵按首行进行行排序。range
求随机变量的值范围,即最大值与最小值的差。例:A=[431;862;-301]B=max(A)C=median(A)D=mad(A)E=sort(A)F=sortrows(A)G=range(A)2.简单数学期望和几种均值数学期望
当给定的一组样本值时
mean
求随机变量的算术平均值函数。nanmean
求随机变量的忽略NaN的平均值。geomean
求随机变量的几何平均,即例:A=[123;456;78NaN]B=mean(A)C=nanmean(A)D=geomean(A)例:
求E(x)和
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 葡萄酒销售协议书
- 环保材料研发服务合同
- IT服务行业IT解决方案设计与实施服务
- 公路工程资料承包合同年
- 游戏电竞产业电竞战队管理与赛事组织方案设计
- 企业股权结构调整方案
- 高新农业技术创新发展合同
- 第2单元 生物体的结构层次 单元导学(新教学设计)2023-2024学年七年级上册生物(人教版)
- 文心兰种苗买卖合同8篇
- 药品质量保证协议新5篇
- 2024托盘行业市场趋势分析报告
- 码头安全生产知识培训
- 初中数学解《一元二次方程》100题含答案解析
- 牛津书虫系列1-6级 双语 4B-03.金银岛中英对照
- 沥青拌合站安装专项施工方案
- 机械基础(少学时)(第三版) 课件全套 第0-15章 绪论、带传动-气压传动
- 07J912-1变配电所建筑构造
- 纠正冤假错案申诉范文
- 锂离子电池串并联成组优化研究
- 宁夏闽宁镇:昔日干沙滩-今日金沙滩+课件-高教版(2023)中职语文职业模块
- 2023-2024学年六年级科学下册(青岛版)第2课 预防近视(教案)
评论
0/150
提交评论