《MATLAB符号计算》由会员分享,可在线阅读,更多相关《MATLAB符号计算(33页珍藏版)》请在人人文库网上搜索。

1、第7章 MATLAB符号计算,7.1 符号计算基础,7.1.1 符号对象 1. 建立符号变量和符号常数 (1)sym函数 sym函数用来建立单个符号量,例如,a=sym(a)建立符号变量a,此后,用户可以在表达式中使用变量a进行各种运算,例7.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)。

2、 %计算数值矩阵B的行列式,例7.2 比较符号常数与数值在代数运算时的差别。 在 MATLAB命令窗口,输入命令: pi1=sym(pi);k1=sym(8);k2=sym(2);k3=sym(3); % 定义符号变量 pi2=pi;r1=8;r2=2;r3=3; % 定义数值变量 sin(pi1/3) % 计算符号表达式值 sin(pi2/3) % 计算数值表达式值 sqrt(k1) % 计算符号表达式值 sqrt(r1) % 计算数值表达式值 sqrt(k3+sqrt(k2) % 计算符号表达式值 sqrt(r3+sqrt(r2) % 计算数值表达式值,2)syms函数 syms函数的一般。

3、调用格式为: syms var1 var2 varn 函数定义符号变量var1,var2,varn等。用这种格式定义符号变量时不要在变量名上加字符分界符(),变量间用空格而不要用逗号分隔,2. 建立符号表达式 建立符号表达式有以下3种方法: (1)利用单引号来生成符号表达式。 (2)用sym函数建立符号表达式。 (3) 使用已经定义的符号变量组成符号表达式,7.1.2 基本的符号运算 1. 符号表达式的四则运算 符号表达式的四则运算和其他表达式的运算并无不同,但要注意,其运算结果依然是一个符号表达式。符号表达式的加、减、乘、除运算可分别由函数symadd、symsub、symmul和symdi。

4、v来实现,幂运算可以由sympow来实现,2符号表达式的提取分子和分母运算 如果符号表达式是一个有理分式或可以展开为有理分式,可利用numden函数来提取符号表达式中的分子或分母。其一般调用格式为: n,d=numden(s) 该函数提取符号表达式s的分子和分母,分别将它们存放在n与d中,3.因式分解与展开 factor(S) 对S分解因式,S是符号表达式或符号矩阵。 expand(S) 对S进行展开,S是符号表达式或符号矩阵。 collect(S) 对S合并同类项,S是符号表达式或符号矩阵。 collect(S,v) 对S按变量v合并同类项,S是符号表达式或符号矩阵,4.表达式化简 MATL。

5、AB提供的对符号表达式化简的函数有: simplify(S) 应用函数规则对S进行化简。 simple(S) 调用MATLAB的其他函数对表达式进行综合化简,并显示化简过程,5符号表达式与数值表达式之间的转换 利用函数sym可以将数值表达式变换成它的符号表达式。 函数numeric或eval可以将符号表达式变换成数值表达式,7.1.3 符号表达式中变量的确定 MATLAB中的符号可以表示符号变量和符号常数。findsym可以帮助用户查找一个符号表达式中的的符号变量。该函数的调用格式为: findsym(S,n) 函数返回符号表达式S中的n个符号变量,若没有指定n,则返回S中的全部符号变量。 在。

6、求函数的极限、导数和积分时,如果用户没有明确指定自变量,MATLAB将按缺省原则确定主变量并对其进行相应微积分运算。可用findsym(S,1)查找系统的缺省变量,事实上,MATLAB按离字符x最近原则确定缺省变量,7. 1. 4 符号矩阵 transpose(S) 返回S矩阵的转置矩阵。 determ(S) 返回S矩阵的行列式值。 colspace(S) 返回S矩阵列空间的基,7.2 符号导数及其应用,7.2.1 函数的极限 limit函数的调用格式为: limit(f,x,a) limit函数的另一种功能是求单边极限,其调用格式为: limit(f,x,a,right) 或 limit(f。

7、,x,a,left,例7.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,7.2.2 符号函数求导及其应用 MATLAB中的求导的函数为: d。

8、iff(f,x,n) diff函数求函数f对变量x的n阶导数。参数x的用法同求极限函数limit,可以缺省,缺省值与limit相同,n的缺省值是1,例7.3 求函数的导数。 命令如下: 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的三阶导数 f1=a*cos(t);f2=b*sin(t); diff(f2)/diff(f1) %求(3)。按参数方程求导公式求y对x的导数 (diff。

9、(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的偏导数 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的偏导数,例7.4 在曲线y=x3+3x-2上哪一点的切线与直线y=4x-1平行。 命令如下: x=sym(x); y=x3+3*x-2; 。

10、%定义曲线函数 f=diff(y); %对曲线求导数 g=f-4; solve(g) %求方程f-4=0的根,即求曲线何处的导数为4,7.3 符号积分,7.3.1 不定积分 在MATLAB中,求不定积分的函数是int,其调用格式为: int(f,x) int函数求函数f对变量x的不定积分。参数x可以缺省,缺省原则与diff函数相同,例7.5 求不定积分。 命令如下: x=sym(x); f=(3-x2)3; int(f) %求不定积分(1) f=sqrt(x3+x4); int(f) %求不定积分(2) g=simple(ans) %调用simple函数对结果化简,7.3.2 符号函数的定积分。

11、 定积分在实际工作中有广泛的应用。在MATLAB中,定积分的计算使用函数: int(f,x,a,b) 例7.6 求定积分。 命令如下: 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) %将上述符号结果转换为数值,例7.7 求椭球的体积。 命令如下: syms a b c z; f=pi*a*b*(c2-z2)/。

12、c2; V=int(f,z,-c,c) V = 4/3*pi*a*b*c,例7.8 求空间曲线c从点(0,0,0)到点(3,3,2)的长度。求曲线c的长度是曲线一型 命令如下: syms t; x=3*t;y=3*t2;z=2*t3; f=diff(x,y,z,t) %求x,y,z对参数t的导数 g=sqrt(f*f) %计算一型积分公式中的根式部分 l=int(g,t,0,1) %计算曲线c的长度,7.3.3 积分变换 1. 傅立叶(Fourier)变换 在MATLAB中,进行傅立叶变换的函数是: fourier(fx,x,t) 求函数f(x)的傅立叶像函数F(t)。 ifourier(Fw。

13、,t,x) 求傅立叶像函数F(t)的原函数f(x,例7.9 求函数的傅立叶变换及其逆变换。 命令如下: syms x t; y=abs(x); Ft=fourier(y,x,t) %求y的傅立叶变换 fx=ifourier(Ft,t,x) %求Ft的傅立叶逆变换,2. 拉普拉斯(Laplace)变换 在MATLAB中,进行拉普拉斯变换的函数是: laplace(fx,x,t) 求函数f(x)的拉普拉斯像函数F(t)。 ilaplace(Fw,t,x) 求拉普拉斯像函数F(t)的原函数f(x,例7.10 计算y=x2的拉普拉斯变换及其逆变换. 命令如下: x=sym(x);y=x2; Ft=la。

14、place(y,x,t) %对函数y进行拉普拉斯变换 fx=ilaplace(Ft,t,x) %对函数Ft进行拉普拉斯逆变换,3. Z变换 对数列f(n)进行z变换的MATLAB函数是: ztrans(fn,n,z) 求fn的Z变换像函数F(z) iztrans(Fz,z,n) 求Fz的z变换原函数f(n) 例7.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变换,7.4 级数 7.4.1 级数的符号求和 级数符号求和函数symsum,调。

15、用格式为: symsum(a,n,n0,nn) 例7.12 求级数之和。 命令如下: 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。计算有限级数的和,7.4.2 函数的泰勒级数 MATLAB中提供了将函数展开为幂级数的函数taylor,其调用格式为: taylor(f,v,n,a) 例7.23求函数在指定点的泰勒展开式。 命令如下: x=。

16、sym(x); f1=(1+x+x2)/(1-x+x2); f2=sqrt(1-2*x+x3)-(1-3*x+x2)(1/3); taylor(f1,x,5) %求(1)。展开到x的4次幂时应选择n=5 taylor(f2,6) %求(2,7.5符号方程求解,7.5.1 符号代数方程求解 代数方程是指未涉及微积分运算的方程,相对比较简单。在MATLAB中,求解用符号表达式表示的代数方程可由函数solve实现,其调用格式为: solve(eq):求解符号表达式表示的代数方程eq,求解变量为默认变量。当方程右端为0时,方程eq中可以不包含右端项和等号,而仅列出方程左端的表达式。 solve(eq,。

17、v):求解符号表达式表示的代数方程eq,求解变量为v。 solve(eq1,eq2,eqn,v1,v2,vn):求解符号表达式eq1,eq2,eqn组成的代数方程组,求解变量分别v1,v2,vn。若不指定求解变量,由默认规则确定,7.5.2 符号常微分方程求解,MATLAB的符号运算工具箱中提供了功能强大的求解常微分方程的函数dsolve。该函数的调用格式为: dsolve(eqn1,condition,var) 该函数求解微分方程eqn1在初值条件condition下的特解。参数var描述方程中的自变量符号,省略时按缺省原则处理,若没有给出初值条件condition,则求方程的通解。 dso。

18、lve在求微分方程组时的调用格式为: dsolve(eqn1,eqn2,eqnN,condition1,conditionN,var1,varN) 函数求解微分方程组eqn1、eqnN在初值条件conditoion1、conditionN下的解,若不给出初值条件,则求方程组的通解,var1、varN给出求解变量,例7.16 求微分方程的通解。 命令如下: y=dsolve(Dy-(x2+y2)/x2/2,x) %解(1)。方程的右端为0时可以不写 y=dsolve(Dy*x2+2*x*y-exp(x),x) %解(2) y=dsolve(Dy-x2/(1+y2),y(2)=1,x); %解(3) x,y=dsolve(Dx=4*x-2*y,Dy=2*x-y,t) %解方程组(4) x,y=dsolve(D2x-y,D2y+x,t); %解方程组(5。

matlab 的 符号,MATLAB符号计算相关推荐

  1. matlab 雅各比符号,雅可比符号计算

    x2 ? 286(mod563) 解:不用考虑563是否为素数,直接计算雅可比符号: 563?563?1 143?1 563?1 ? 563 ? ? 286 ? ? 2 ?? 143 ? 8 2 2 ...

  2. matlab 无穷符号,MATLAB强大的符号运算

    符号对象(Symbolic Objects 不同于普通的数值计算)是Matlab中的一种特殊数据类型,它可以用来表示符号变量.表达式以及矩阵,利用符号对象能够在不考虑符号所对应的具体数值的情况下能够进 ...

  3. matlab 点符号,matlab 中在运算符号前加一点是什么意思?

    matlab 中在运算符号前加一点是什么意思? mip版  关注:210  答案:2  悬赏:20 解决时间 2021-01-23 18:50 已解决 2021-01-23 08:24 例如,矩阵A. ...

  4. matlab 微秒 符号,matlab处理csi

    使用python调用matlab API接口进行数据分析 找到matlab安装目录下自带的setup.py的路径我的路径如下 D:\MATLAB\R2018a\extern\engines\pytho ...

  5. Matlab冒号符号(MATLAB中最有用的操作符)

    冒号(:)是MATLAB中最有用的操作符之一.它用于创建向量,下标数组,并为迭代指定. 如果要创建一个包含从1到10的整数的行向量,则书写为 - 1:10 MATLAB MATLAB执行语句并返回一个 ...

  6. matlab 微分符号,Matlab 符号微积分

    6.3 符号微积分 6.3.1 符号序列的求和 [ * 例 6.3.1 -1 ]求 , syms k t;f1=[t k^3];f2=[1/(2*k-1)^2,(-1)^k/k]; s1=simple ...

  7. Matlab中提供了符号计算工具箱(Symbolic Math Toolbox),可以进行符号运算

    Matlab中提供了符号计算工具箱(Symbolic Math Toolbox),可以进行符号运算.以下是一些常见的符号运算示例: 定义符号变量 要定义一个符号变量,可以使用 syms 函数.例如,要 ...

  8. 学习matlab(七)——符号计算

    在MATLAB中,提供了强大的符号运算功能,并且有专门的符号数学工具箱Symbolic Math Toolbox.此外,在MATLAB中,还可以通过maple. m和map. m两个接口和Maple相 ...

  9. MATLAB的符号运算基础

    在数学运算中,运算的结果如果是一个数值,可以称这类运算为数值运算:如果运算结果为表达式,在MATLAB中称为符号运算,符号计算是对未赋值的符号对象(可以是常数.变量.表达式)进行运算和处理.MATLA ...

最新文章

  1. C++编译器Qt Creator下载地址
  2. Filter及FilterChain的使用具体解释
  3. 《C++标准程序库》笔记之二
  4. 扎实的基础是成功的法宝
  5. Flask简介与简单项目操作流程
  6. 使用TensorFlow.js在浏览器中进行深度学习入门
  7. 传说有位游客在山顶大声谈论着小孤嫁彭郎的故事
  8. [BZOJ4913][SDOI2017]遗忘的集合
  9. 栅栏密码--Python解密脚本
  10. 联邦学习:加密算法Paillier,Affine,IterativeAffine
  11. 鼠标失灵了?我来给你解决吧!
  12. 为什么篮球一进游戏就服务器中断,街头篮球手游进不去 进不去游戏无非这两种原因...
  13. API文档打开显示'已取消到该网页的导航'的解决方法
  14. 自动开机和自动关机设定方法(包括linux和windows)
  15. linux内核 4g拨号,openwrt 基于qmi的 3G|4G拨号
  16. 掌握web开发基础系列--物理像素、逻辑像素、css像素
  17. matlab如何实现动态显示,matlab 坐标图动画,动态显示数据
  18. 使用Pyecharts进行奥运会可视化分析!
  19. scada系统web服务器,基于IEC61970的Web-SCADA系统服务器后台的设计与实现
  20. 计算机主板损坏,电脑主板损坏原因

热门文章

  1. LMS与RLS算法学习笔记
  2. 论IE8浏览器报错:$未定义及缺少对象问题
  3. 阿尔茨海默最新研究进展(2022年12月)
  4. 大数据产业到底是机遇还是陷阱?
  5. 尼康d850相机参数测试软件,新功能介绍二:景深合成与自动调焦_尼康 D850_数码影像评测-中关村在线...
  6. POJ1753题解(枚举)
  7. python hdf5_Python HDF5属性
  8. 【Spire.Doc】合并 Word 文档,将多个文档合并为一个
  9. R语言 关联规则(二)
  10. 2022电大国家开放大学网上形考任务-人力资源管理非免费(非答案)