




已阅读5页,还剩49页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第6章 MATLAB符号计算 6.1 符号计算基础 6.2 符号导数及其应用 6.3 符号积分 6.4 级数 6.5 代数方程的符号求解 6.6 常微分方程的符号求解 第6章 MATLAB符号计算 6.1 符号计算基础 6.2 符号导数及其应用 6.3 符号积分 6.4 级数 6.5 代数方程的符号求解 6.6 常微分方程的符号求解 6.1 符号计算基础 6.1.1 符号对象 1. 建立符号变量和符号常数 (1)sym函数 sym函数用来建立单个符号量,例如,a=sym(a) 建立符号变量a,此后,用户可以在表达式中使用 变量a进行各种运算。 第6章 MATLAB符号计算 例6.1考察符号变量和数值变量的差别。 在 MATLAB命令窗口,输入命令: a=sym(a);b=sym(b);c=sym(c);d=sym(d); %定义 4个符号变量 w=10;x=5;y=-8;z=11; %定义4个数值变量 A=a,b;c,d %建立符号矩阵A B=w,x;y,z %建立数值矩阵B det(A) %计算符号矩阵A的行列式 det(B) %计算数值矩阵B的行列式 第6章 MATLAB符号计算 (2)syms函数 syms函数的一般调用格式为: syms var1 var2 varn 函数定义符号变量var1,var2,varn等。用这种格 式定义符号变量时不要在变量名上加字符分界符() ,变量间用空格而不要用逗号分隔。 第6章 MATLAB符号计算 2. 建立符号表达式 符号表达式可以采用单引号或sym/syms函数定义 例6.2用两种方法建立符号表达式。 在MATLAB窗口,输入命令: U=sym(3*x2+5*y+2*x*y+6) %定义符号表达式U syms x y; %建立符号变量x、y V=3*x2+5*y+2*x*y+6 %定义符号表达式V 2*U-V+6 %求符号表达式的值 第6章 MATLAB符号计算 例6.3计算3阶范得蒙矩阵行列式的值。设A是一个由 符号变量a,b,c确定的范得蒙矩阵。 命令如下: syms a b c; U=a,b,c; A=1,1,1;U;U.2 %建立范得蒙符号矩阵 det(A) %计算A的行列式值 第6章 MATLAB符号计算 例6.4建立x,y的一般二元函数。 在MATLAB命令窗口,输入命令: syms x y; f=sym(f(x,y) 第6章 MATLAB符号计算 6.1.2 基本的符号运算 1. 符号表达式运算 (1)符号表达式的四则运算 例6.5符号表达式的四则运算示例。 在 MATLAB命令窗口,输入命令: syms x y z; f=2*x+x2*x-5*x+x3 %结果为最简形式 f=2*x/(5*x) %符号表达式的结果为最简形式 f=(x+y)*(x-y) %结果不是x2-y2,而是(x+y)*(x- y) 第6章 MATLAB符号计算 (2)因式分解与展开 factor(S) 对S分解因式,S是符号表达式或符号矩阵。 expand(S) 对S进行展开,S是符号表达式或符号矩阵。 collect(S) 对S合并同类项,S是符号表达式或符号矩阵。 collect(S,v) 对S按变量v合并同类项,S是符号表达式或 符号矩阵。 第6章 MATLAB符号计算 例6.6 对符号矩阵A的每个元素分解因式。 命令如下: syms a b x y; A=2*a2*b3*x2- 4*a*b4*x3+10*a*b6*x4,3*x*y-5*x2;4,a3- b3; factor(A) %对A的每个元素分解因式 第6章 MATLAB符号计算 例6.7 计算表达式S的值。 命令如下: syms x y; s=(-7*x2-8*y2)*(-x2+3*y2); expand(s) %对s展开 collect(s,x) %对s按变量x合并同类项(无同类项) factor(ans) % 对ans分解因式 第6章 MATLAB符号计算 练习: 1 展开符号表达式 f1=(x+1)7和 f2=cos(x+y)。 expand(S) 2 展开符号表达式(x+3)(x+t)(y-1)和(x-2)2(x+1)-x2。 3 因式分解符号表达式 x5-y5。 factor(S) 4 对符号表达式 (x-ex)(x+y)进行同类项合并。 collect(S) 5 按照不同方式合并表达式 (x2-aey)(axy+e2yx)。 第6章 MATLAB符号计算 (3)表达式化简 MATLAB提供的对符号表达式化简的函数有: simplify(S) 应用函数规则对S进行化简,它可以完成 对指数、对数、三角函数等各种数学表达式的化简 。 simple(S) 调用MATLAB的其他函数对表达式进行综 合化简,并显示化简过程,返回表达式的最简形式 。 第6章 MATLAB符号计算 例6.8化简 命令如下: syms x y; s=(x2+y2)2+(x2-y2)2; simple(s) %MATLAB自动调用多种函数对s进行化 简,并显示每步结果 练习:简化符号表达式sin2x-cos3x+sin2x。 第6章 MATLAB符号计算 2. 符号矩阵运算 transpose(S) 返回S矩阵的转置矩阵。 determ(S) 返回S矩阵的行列式值。 colspace(S) 返回S矩阵列空间的基。 Q,D=eigensys(S) Q返回S矩阵的特征向量,D返回S 矩阵的特征值。 第6章 MATLAB符号计算 6.1.3 符号表达式中变量的确定 MATLAB中的符号可以表示符号变量和符号常数。 findsym可以帮助用户查找一个符号表达式中的符 号变量。该函数的调用格式为: findsym(S,n) 函数返回符号表达式S中的n个符号变量,若没有指定 n,则返回S中的全部符号变量。 在求函数的极限、导数和积分时,如果用户没有明确 指定自变量,MATLAB将按缺省原则确定主变量并 对其进行相应微积分运算。可用findsym(S,1)查找 系统的缺省变量,事实上,MATLAB按离字符x 最近原则确定缺省变量。 第6章 MATLAB符号计算 第6章 MATLAB符号计算 6.1 符号计算基础 6.2 符号导数及其应用 6.3 符号积分 6.4 级数 6.5 代数方程的符号求解 6.6 常微分方程的符号求解 6.2 符号导数及其应用 6.2.1函数的极限 limit函数的调用格式为: limit(f,x,a) 计算符号表达式f在xa条件下的极限 limit(f, a) 计算f在默认自变量趋于a条件下的极限 limit(f) 计算f在默认自变量趋于0条件下的极限 limit函数的另一种功能是求单边极限,其调用格式为 : limit(f,x,a,right) 或 limit(f,x,a,left) 第6章 MATLAB符号计算 例6.10求极限。 在MATLAB命令窗口,输入命令: syms a m x; f=(x(1/m)-a(1/m)/(x-a); limit(f,x,a) %求极限(1) f=(sin(a+x)-sin(a-x)/x; limit(f) %求极限(2) limit(f,inf) %求f函数在x(包括+和-)处的极限 limit(f,x,inf,left) %求极限(3) f=(sqrt(x)-sqrt(a)-sqrt(x-a)/sqrt(x*x-a*a); limit(f,x,a,right) %求极限(4) 第6章 MATLAB符号计算 6.2.2 符号函数求导及其应用 MATLAB中的求导的函数为: diff(f,x,n) diff函数求函数f对变量x的n阶导数。参数x的用法同 求极限函数limit,可以缺省,缺省值与limit相同, n的缺省值是1。 第6章 MATLAB符号计算 例6.11求函数的导数。 命令如下: syms a b t x y z; f=sqrt(1+exp(x); diff(f) %求(1)。未指定求导变量和阶数,按缺省规则处理 f=x*cos(x); diff(f,x,2) %求(2)。求f对x的二阶导数 diff(f,x,3) %求(2)。求f对x的三阶导数 第6章 MATLAB符号计算 f1=a*cos(t);f2=b*sin(t); diff(f2)/diff(f1) %求(3)。按参数方程求导公式求y对x的导数 (diff(f1)*diff(f2,2)-diff(f1,2)*diff(f2)/(diff(f1)3 %求(3)。求y对x的二阶导数 f=x*exp(y)/y2; diff(f,x) %求(4)。z对x的偏导数 diff(f,y) %求(4)。z对y的偏导数 第6章 MATLAB符号计算 f=x2+y2+z2-a2; zx=-diff(f,x)/diff(f,z) %求(5)。按隐函数求导公式求z对x的偏导数 zy=-diff(f,y)/diff(f,z) %求(5)。按隐函数求导公式求z对y的偏导数 第6章 MATLAB符号计算 例6.12在曲线y=x3+3x-2上哪一点的切线与直线y=4x-1 平行。 命令如下: x=sym(x); y=x3+3*x-2; %定义曲线函数 f=diff(y); %对曲线求导数 g=f-4; solve(g) %求方程f-4=0的根,即求曲线何处的导数为4 第6章 MATLAB符号计算 练习:试对表达式f(x,y)=x3-5x2y+y2求一阶偏导和二阶 偏导。 第6章 MATLAB符号计算 第6章 MATLAB符号计算 6.1 符号计算基础 6.2 符号导数及其应用 6.3 符号积分 6.4 级数 6.5 代数方程的符号求解 6.6 常微分方程的符号求解 6.3 符号积分 6.3.1不定积分 在MATLAB中,求不定积分的函数是int,其调用格 式为: int(f,x) int函数求函数f对变量x的不定积分。参数x可以缺省 ,缺省原则与diff函数相同。 第6章 MATLAB符号计算 例6.13求不定积分。 命令如下: x=sym(x); f=(3-x2)3; int(f) %求不定积分(1) f=sqrt(x3+x4); int(f) %求不定积分(2) g=simple(ans) %调用simple函数对结果化简 练习:计算积分 第6章 MATLAB符号计算 6.3.2 符号函数的定积分 定积分在实际工作中有广泛的应用。在MATLAB中 ,定积分的计算使用函数:int(f,x,a,b) 第6章 MATLAB符号计算 例6.14求定积分。 命令如下: x=sym(x);t=sym(t); int(abs(1-x),1,2) %求定积分(1) f=1/(1+x2); int(f,-inf,inf) %求定积分(2) int(4*t*x,x,2,sin(t) %求定积分(3) f=x3/(x-1)100; I=int(f,2,3) %用符号积分的方法求定积分(4) double(I) %将上述符号结果转换为数值 第6章 MATLAB符号计算 例6.15求椭球的体积。 命令如下: syms a b c z; f=pi*a*b*(c2-z2)/c2; V=int(f,z,-c,c) V =4/3*pi*a*b*c 第6章 MATLAB符号计算 6.3.3 积分变换 1. 傅立叶(Fourier)变换 在MATLAB中,进行傅立叶变换的函数是: fourier(fx,x,t) 求函数f(x)的傅立叶像函数F(t)。 ifourier(Fw,t,x) 求傅立叶像函数F(t)的原函数f(x)。 第6章 MATLAB符号计算 例6.18求函数的傅立叶变换及其逆变换。 命令如下: syms x t; y=abs(x); Ft=fourier(y,x,t) %求y的傅立叶变换 fx=ifourier(Ft,t,x) %求Ft的傅立叶逆变换 第6章 MATLAB符号计算 2. 拉普拉斯(Laplace)变换 在MATLAB中,进行拉普拉斯变换的函数是: laplace(fx,x,t) 求函数f(x)的拉普拉斯像函数F(t)。 ilaplace(Fw,t,x) 求拉普拉斯像函数F(t)的原函数f(x)。 第6章 MATLAB符号计算 例6.19计算y=x2的拉普拉斯变换及其逆变换. 命令如下: x=sym(x);y=x2; Ft=laplace(y,x,t) %对函数y进行拉普拉斯变换 fx=ilaplace(Ft,t,x) %对函数Ft进行拉普拉斯逆变换 第6章 MATLAB符号计算 3. Z变换 对数列f(n)进行z变换的MATLAB函数是: ztrans(fn,n,z) 求fn的Z变换像函数F(z) iztrans(Fz,z,n) 求Fz的z变换原函数f(n) 第6章 MATLAB符号计算 例6.20求数列 fn=e-n的Z变换及其逆变换。 命令如下: syms n z fn=exp(-n); Fz=ztrans(fn,n,z) %求fn的Z变换 f=iztrans(Fz,z,n) %求Fz的逆Z变换 第6章 MATLAB符号计算 第6章 MATLAB符号计算 6.1 符号计算基础 6.2 符号导数及其应用 6.3 符号积分 6.4 级数 6.5 代数方程的符号求解 6.6 常微分方程的符号求解 6.4 级数 6.4.1 级数的符号求和 级数符号求和函数symsum,调用格式为: symsum(a,n,n0,nn) 第6章 MATLAB符号计算 例6.22求级数之和。命令如下: n=sym(n); s1=symsum(1/n2,n,1,inf) %求s1 s2=symsum(-1)(n+1)/n,1,inf) %求s2。未指定求和 变量,缺省为n s3=symsum(n*xn,n,1,inf) %求s3。此处的求和变量 n不能省略。 s4=symsum(n2,1,100) %求s4。计算有限级数的和 第6章 MATLAB符号计算 6.4.2 函数的泰勒级数 MATLAB中提供了将函数展开为幂级数的函数taylor ,其调用格式为: taylor(f,v,n,a) 第6章 MATLAB符号计算 例6.24将多项式表示成x+1的幂的多项式。 命令如下: x=sym(x); p=1+3*x+5*x2-2*x3; f=taylor(p,x,-1,4) 第6章 MATLAB符号计算 第6章 MATLAB符号计算 6.1 符号计算基础 6.2 符号导数及其应用 6.3 符号积分 6.4 级数 6.5 代数方程的符号求解 6.6 常微分方程的符号求解 6.5代数方程的符号求解 6.5.1线性方程组的符号求解 MATLAB中提供了一个求解线性代数方程组的函数 linsolve,其调用格式为: linsolve(A,b) 第6章 MATLAB符号计算 6.5.2 非线性方程组的符号求解 求解非线性方程组的函数是solve,调用格式为: solve(eqn1,eqn2,eqnN,var1,var2,varN) 第6章 MATLAB符号计算 例6.28 解方程。 命令如下: x=solve(1/(x+2)+4*x/(x2-4)=1+2/(x-2),x) %解方程(1) f=sym(x-(x3-4*x-7)(1/3)=1); x=solve(f) %解方程(2) x=solve(2*sin(3*x-pi/4)=1) %解方程(3) x=solve(x+x*exp(x)-10,x) %解方程(4)。仅 标出方程的左端 第6章 MATLAB符号计算 第6章 MATLAB符号计算 6.1 符号计算基础 6.2 符号导数及其应用 6.3 符号积分 6.4 级数 6.5 代数方程的符号求解 6.6 常微分方程的符号求解 6.6常微分方程的符号求解 MATLAB的符号运算工具箱中提供
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人参销售合同标准文本
- 推动降碳减污扩绿增长的创新路径与实践方案
- 数字化时代学生社区治理的创新策略与实践
- 乡村门窗维修合同样本
- 供货合同样本燃气
- 公司对外投资合同样本
- 小自考2024年视觉传播设计重点试题及答案
- 低档装修合同样本
- 2024秋九年级语文上册 第三单元 14酬乐天扬州初逢席上见赠教学设计 新人教版
- 亚马逊授权合同样本
- 盐城射阳农村商业银行招聘真题
- 137案例黑色三分钟生死一瞬间事故案例文字版
- 药物研发监管的国际协调
- 生猪屠宰兽医卫生检验人员理论考试题及答案
- DL-T5434-2021电力建设工程监理规范
- 2024年上海核工程研究设计院股份有限公司招聘笔试冲刺题(带答案解析)
- 房地产营销毕业论文
- GB/T 43943-2024船舶环境噪声
- 材料力学-第五章弯曲应力
- 2023-2024学年下学期高一思想政治课《心理健康与职业生涯》期中模拟考试卷答案
- 我的人工智能导论职业规划
评论
0/150
提交评论