




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
符号运算科学计算包括数值计算和符号计算两种计算,数值计算是近似计算;而符号计算则是绝对精确的计算。符号变量的生成和使用1、符号变量、符号表达式和符号方程的生成(1)、使用sym函数定义符号变量和符号表达式单个符号变量sqrt(2)sym(sqrt(2)%显示精确结果a=sqrt(sym(2) %显示精确结果double(a)sym(2)/sym(3) %显示精确结果2/5+1/3sym(2/5+1/3) %显示精确结果sym(2)/sym(5)+sym(1)/sym(3) %显示精确结果sym函数定义符号表达式:单个变量定义法,整体定义法单个变量定义法a=sym(a)b=sym(b)c=sym(c)x=sym(x)f=a*x2+b*x+c整体定义法f=sym(a*x2+b*x+c)g=f2+4*f-2(2)、使用syms函数定义符号变量和符号表达式一次可以创建任意多个符号变量syms var1 var2 var3syms a b c xf=a*x2+b*x+cg=f2+4*f-2(3)、符号方程的生成函数:数字和变量组陈的代数式方程:函数和等号组成的等式用sym函数生成符号方程:equation1=sym(sin(x)+cos(x)=1)2、符号变量的基本操作(1)、findsym函数用于寻找符号变量findsym(f):找出f表达式中的符号变量findsym(s,n):找出表达式s中n个与x接近的变量syms a alpha b x1 yfindsym(alpha+a+b)findsym(cos(alpha)*b*x1+14*y,2)%x1,yfindsym(y*(4+3i)+6j)findsym(cos(alpha)*b*x1+14*y,1)%x1findsym(cos(alpha)*b*x1+14*y,3)%x1,y,b(2)、任意精确度的符号表达式digits函数设定所用数值的精度digits:在command window显示当前设定的数值精度digits(D):设置数值的精度为DD=digits:在command window中返回当前设定数值精度digitsdigits(100)D=digitsvpa函数进行可控精度运算R=vpa(S):显示符号表达式S在当前精度D下的值,D是使用digits函数设置的数值精度vpa(S,D):显示符号表达式S在精度D下的值,D不是当前精度值,只是临时设置的r=vpa(pi)r=vpa(pi,1000)q=vpa(hilb(2)q=vpa(hilb(2),6)(3)、数值型变量与符号型变量的转换形式数值型变量t转换成符号型变量有理数形式:sym(t)或sym(t,r)浮点数形式:sym(t,f)指数形式:sym(t,e)指数精度形式:sym(t,d)t=0.1sym(t)sym(t,r)sym(t,f)sym(t,e)sym(t,d)可以通过digits函数改变精度digits(7)sym(t,d)也可以用于矩阵,但是矩阵只能转换为有理数形式A=hilb(4)A=sym(A)A=sym(A,d) %报错A=sym(A,e) %报错A=sym(A,f)%报错3、符号表达式(符号函数)的操作(1)、四则运算(与通常算术式一样)syms x y a bfun1=sin(x)+cos(y)fun2=a+bfun1+fun2(2)、合并同类项collect(S,v):将符号矩阵S中所有同类项合并,并以v为符号变量输出collect(S):使用findsym函数规定的默认变量,代替上式的vsyms x ycollect(x2*y+y*x-x2-2*x)f=-1/4*x*exp(-2*x)+3/16*exp(-2*x)collect(f)(3)、因式分解horner(P):将表达式P进行因式分解syms xfun1=2*x3+2*x2-32*x+40horner(fun1)fun2=x3-6*x2+11*x-6horner(fun2)(4)、简化simplify(S):将表达式S中的每个元素都进行简化,即便使用多次simplify也不一定能得到最简形式syms xfun1=(1/x+7/x2+12/x+8)(1/3)sfy1=simplify(fun1)sfy2=simplify(sfy1)simplify(sin(x)2+cos(x)2)simple(S):使用多种代数方法对S进行简化,显其中最简单的结果R,how=simple(S):R为最简结果,how为简化方法的字符串s=2*cos(x)2-sin(x)2simple(s)R how=simple(s)simple(f)(5)、subs函数用于替换求值subs函数可以将符号表达式的符号变量替换为数值变量subs(S) :将S中自由符号变量用调用函数中的值或是MATLAB工作区间值替换subs(S,new):将S中自由符号变量用数值型变量或表达式new替换subs(S,old,new):将S中符号变量old用 数值型变量或表达式new替换syms x yf=x2*y+5*x*sqrt(y)subs(f)subs(f,x,3)subs(f,y,3)subs(f,3)%与subs(f,x,3)结果相同用户没指定被替换的符号变量,对单个字母的变量,MATLAB选择在字母表中与x接近的字母,若有两个变量离x一样近,则选择字母表中靠后的那个findsym(f,1)syms s tg=s+tfindsym(g,1)%找到tsubs(g,1)%替换为s+1多个变量替换syms a bsubs(cos(a)+sin(b),a,b,sym(alpha),2)用矩阵替换syms t x ysubs(exp(a*t),a,-magic(2)subs(x*y,x,y,0 1;-1 -1,1 -1;-2 1)(6)、反函数g=finverse(f):求函数f的反函数,返回g也是符号函数g=finverse(f,v):设定f的自变量是v,当f包括不止一个变量时最好使用该命令syms x yf=x2+yfinverse(f,y)finverse(f)%由于没指明自变量,给出警告syms xf=x2g=finverse(f)%x2的反函数不唯一,默认给出正值fg=simple(compose(g,f)%验证反函数正确性(7)、复合函数compose(f,g):返回f=f(x),g=g(y)的复合函数f(g(y),x是findsym定义的f的符号变量,y是findsym定义的g的符号变量compose(f,g,z):返回f=f(x),g=g(y)的复合函数f(g(z),返回函数以z为自变量compose(f,g,x,z):返回f(g(z),x为函数f的独立变量compose(f,g,x,y,z):返回f(g(z),x为函数f的独立变量,y为函数g的独立变量syms x y z t uf=1/(1+x2)g=sin(y)h=xtp=exp(-y/u)compose(f,g)compose(f,g,t)compose(h,g,x,z)compose(h,g,t,z)compose(h,p,x,y,z)compose(h,p,t,u,z)符号矩阵的生成和运算1、符号矩阵的生成(1)、使用sym函数直接生成符号矩阵a1=sym(1/3 2/3 5/7;9/11 11/13 13/17;17/19 19/23 23/29)a1=sym(1/3,0.2+sqrt(2),pi;2/7,sin(x),cos(x),log(x);sin(x)2,sin(22*x),exp(x)%长度不一致的行补0(2)、用生成子矩阵的方法生成符号矩阵与字符串矩阵的直接输入法类似,同一列元素长度须相同(不同补0)a=100,cos(x);1/s,x (3)、由数值矩阵转换为符号矩阵系统首先将自动在MATLAB工作区间将数值型变量转换为符号型变量,用户也可以用sym函数进行转换M=30 1 1 1;6 1 5 9;9 8 25 4;32 45 62 0S=sym(M)M1=0.3 0.33 0.333 1/3;3.14 3.142 3.1416 pi;log(2) log(3) log(5) log(7);sin(1) cos(1) tan(1) atan(1)S1=sym(M1)2、符号矩阵及符号数组的运算(1)、符号矩阵的四则运算A+B和A-B同型矩阵可以分别对对应分量进行加减,若A与B至少有一个为标量,则把标量扩大为与另一个同型的阵列A*B为线性代数中定义的矩阵乘法AB实现左除,X=AB为符号线性方程组A*X=B的解,AB近似等于inv(A)*B,X不存在或不唯一,则产生警告,A可以是非方阵,要求方程组必须是相容的A/B实现右除,X=B/A为符号线性方程组X*A=B的解,B/A近似等于B*inv(A) ,X不存在或不唯一,则产生警告,A可以是非方阵,要求方程组必须是相容的m=sym(x,x2,x*2,1/x)n=sym(2*x,y,x,x2)m+nm-nm*n%出错mnm/n%出错(2)、符号数组的四则运算若有标量,则扩展为同型阵列.*乘法./右除.左除q=sym(3 4 9 6;x y z w;a b c d)p=sym(x 1/x x2 x3;a b c d;5 2 3 6)q.*pq./pq.pr=q*p%矩阵行列不匹配,出错(3)、矩阵和数组的逆运算A实现矩阵的Hermition转置,若A为复数矩阵,则A为共轭转置q=sym(3 4 9 6;x y z w;a b c d)q%符号变量具体值不知,只能用conj给出q.%普通转置(4)、矩阵和数组的幂运算AB实现矩阵幂运算,若A为标量B为方阵,AB用方阵B的特征值与特征向量计算数值。若A、B均为矩阵,则返回错误A.B实现数组幂运算,若A与B为同型矩阵,则按对应分量进行计算。若A与B中至少有一个为标量,则现将标量扩大为另一个同型的阵列p=sym(x 1/x x2 x3;a b c d;5 2 3 6)q=sym(3 4 9 6;x y z w;a b c d;1 3 5 7)q2p2%p矩阵不为方阵,报错q.2p.2(5)、符号矩阵的秩rank(A):求出方阵A的线性不相关的独立行和列的个数rank(A,tol):求出比tol值大的值的个数,在上个命令中默认tol=max(size(A)*norm(A)*epsa=sym(1 1/x x2;xin(x) cos(x) tan(x);log(x) 2 9)rank(a)(6)、符号矩阵的逆和行列式运算inv(X):求方阵X的逆,当X奇异或者范数很小时,系统给出一个出错信息det(X):求方阵X的行列式h=sym(hilb(4)inv(h)det(h)b=sym(1 x x2;0 0 sin(x);0 0 log(x) inv(b)%b矩阵行列式为0,不存在逆,返回FAILb=sym(1,x;x;x2)inv(b)%矩阵不是方阵,报错符号微积分1、符号极限limit(F,x,a):计算符号表达式当x趋于a时F=F(x)的极限值limit(F,a):x默认为findsym(F)limit(F):a默认为0limit(F,x,a,right) 或Limit(F,x,a,left):计算右极限和左极限limit(sin(x)/x)limit(x-2)/(x2-4),2)limit(1-2*1/x)(3*x),x,inf)limit(1/x,x,0,left)limit(1/x,x,0,right)limit(sin(x+h)-sin(x)/h,h,0)2、符号微分和求导(1)、diff函数的使用diff(x):根据findsym(x)命令返回的自变量v,求表达式x的一阶导数diff(x,n):根据findsym(x)命令返回的自变量v,求表达式x的n阶导数diff(x,v)或diff(x,sym(v):对v求x的一阶导数diff(x, v,n):对v求x的n阶导数syms x ydiff(x3+3*x2+2*x+5)diff(sin(x3),6)diff(sin(x3),x,6)diff(sin(x3),v,6)%对v求x的6阶导数,结果为0diff(x*y+y2+sin(x)+cos(y),y)diff(x*y+y2+sin(x)+cos(y),y,3)(2)、jacobian函数的使用jacobian(f,v):计算数量或向量f对向量v的jacobi矩阵,所得矩阵的第i行第j列的数是df(i)/dv(j),当f为数量的时候,该命令返回的是f的梯度,若此时v也是数量,则jacobian(f,v)等价于diff(f,v)syms x y za=x2+x*y;sin(x)*cos(y)jacobian(a,x,y)3、符号积分int(S):根据由findsym(S)命令返回的自变量v,求S的不定积分,其中S为符号矩阵或符号数量int(S,v):求S对v的不定积分int(S,a,b):求a到b的定积分int(S,v,a,b):求a到b的定积分syms x x1 alpha u t;A=cos(x*t) sin(x*t);-sin(x*t) cos(x*t)int(1/(1+x2)int(sin(alpha*u),alpha)int(besselj(1,x),x)int(x1*log(1+x1),0,1)int(4*x*t,x,2,sin(t)int(exp(t) exp(alpha*t)int(A,t)符号积分变换1、Fourier变换及其逆变换(1)、Fourier变换F=fourier(f):以x为默认独立变量,返回w的函数,若f是w的函数,则返回的F是t的函数F=fourier(f,v):返回的F以v为自变量fourier(f,u,v):返回的函数以v为自变量,f以u为自变量fourier(1/t)fourier(exp(-x2),x,t)fourier(exp(-t)*sym(Heaviside(t),v)fourier(diff(sym(F(x),x,w)(2)、Fourier反变换f=ifourier(F):以w为默认独立变量,默认的返回函数是以x为自变量的函数,若F以x为变量,返回函数以t为自变量f=ifourier(F,u):返回的函数f以u为自变量f=ifourier(F,v,u):返回的函数f以u为自变量,F以v为自变量syms t u v w xifourier(w*exp(-3*w)*sym(Heaviside(w)ifourier(1/(1+w2),u)ifourier(v/(1+w2),v,u)ifourier(sym(fourier(f(x),x,w),w,x)2、Laplace变换及其逆变换(1)、Laplace变换L=laplace(F):F以t为独立自变量,返回函数L以s为变量,若F以s为自变量,则L以t为自变量L=laplace(F,t):返回函数以t为自变量L-laplace(F,w,z):返回函数L以z为自变量,F以w为自变量syms a s t w xlaplace(t5)laplace(exp(a*s)laplace(sin(w*x),t)laplace(cos(w*x),w,t)laplace(xsym(3/2),t)laplace(diff(sym(F(t)(2)、Laplace反变换F=ilaplace(L):L以s为独立自变量,返回函数以t为自变量,若L以t为自变量,返回函数以x为自变量F=ilaplace(L,x):返回函数以x为自变量F=ilaplace(L,y,x):返回函数以x为自变量,L以y为自变量syms s t w x yilaplace(1/(s-1)ilaplace(1/(t2-1)ilaplace(tsym(5/2),x)ilaplace(y/(y2+w2),y,x)ilaplace(sym(laplace(F(x),x,s),s,x)3、Z变换及其反变换(1)、Z变换F=ztrans(f):返回函数以z为自变量,f以n为独立自变量,若f以z为自变量,返回函数以w为自变量F=ztrans(f,w)F=ztrans(f,k,w)syms k n w zztrans(2n)ztrans(sin(k*n),w)ztrans(cos(k*n),k,z)ztrans(cos(k*n),n,w)ztrans(sym(f(n+1)(2)、Z反变换f=iztrans(F):F以z为独立自变量,f以n为自变量,若F以n为自变量,f以k为自变量f=iztrans(F,k)f=iztrans(F,w,k)syms x z kiztrans(z/(z-2)iztrans(exp(x/z),z,k)符号代数方程的求解1、符号线性方程组的求解X=linsolve(A,B):求解AX=B的解a=rand(4)b=1;2;3;4linsolve(a,b)2、符号非线性方程组的求解F(X)=0X=fsolve(fun,X0):以X0为初始矩阵来求解方程fun,fun接受输入并返回一个向量,使得F=fun(X)%求解方程组%3*x(1)2-x(2)2=0%3*x(1)*x(2)2-x(1)2-1=0建立myfun2.m文件function y=myfun2(x)y(1)=3*x(1)2-x(2)2;y(2)=3*x(1)*x(2)2-x(1)2-1;运行代码x=0.8 0.4x=fsolve(myfun2,x)3、一般符号代数方程组的求解solve(eqn1,eqn2,eqnN)solve(eqn1,eqn2,eqnN,var1,var2,varN)solve(eqn1,eqn2,eqnN,var1,var2,varN)eqns是一些具体方程的符号表达式或字符串,而vars是一些未知的符号变量或未知额的字符串solve(p*sin(x)=r)x y=solve(x2+x*y+y=3,x2-4*x+3=0)S=solve(x2*y2-2*x-1=0,x2-y2-1=0)%S是一个结构体u v=solve(a*u2+v2=0,u-v=1)%a被作为参数求解关于u和v的方程组S=solve(a*u2+v2=0,u-v=1,a,u)%v作为参数a u v=solve(a*u2+v2=0,u-v=1,a2-5*a+6)x y=solve(sin(x+y)-exp(x)*y=0,x2-y=2)%系统无法给出符号解,只给出数值解符号微分方程的求解dsolve(eqn1,eqn2,eqn3,):求符号解,初始条件,边界条件也可以算作eqns,默认输出函数的自变量为t,D表示对x一阶微分,D2表示对x二阶微分,以此类推dsolve(Dx =
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年工业互联网平台网络隔离技术安全防护体系构建与实施报告
- 2025年工业互联网平台量子通信技术网络安全预研分析
- 2025年城市轨道交通智慧运维系统在智能调度与优化中的应用报告
- 2025年REACH 250项高度关注物质SVHC清单第34批
- 2025年注册环保工程师考试环境规划与评价冲刺试卷
- 2025年经济师考试押题 经济法规与政策应用专项训练
- 2025年德语考试试卷 阅读理解专项冲刺
- 2025年小学数学毕业升学考试易错题型精准复习模拟试卷
- 吉林省吉林市丰满区第五十五中学2026届高一化学第一学期期末学业水平测试模拟试题含解析
- 测量监理员岗位职责
- 厨房4D管理课件下载
- 建筑工地实名制管理
- 铜陵维修基金管理办法
- 心脏起搏器植入术超声评估要点
- 外聘律师管理办法范本
- 文物保护专项工程文明施工保证体系及措施
- 2025至2030临床前CRO治疗行业发展趋势分析与未来投资战略咨询研究报告
- 2025年中国数据库市场研究报告
- 中国卢沟桥课件
- 酒精戒断综合症治疗方案讲课件
- 爱护桌椅班会课件
评论
0/150
提交评论