-第7章MATLAB符号计算

上传人:东****0 文档编号:157984462 上传时间:2020-12-29 格式:PDF 页数:32 大小:235.18KB
返回 下载 相关 举报
-第7章MATLAB符号计算_第1页
第1页 / 共32页
-第7章MATLAB符号计算_第2页
第2页 / 共32页
-第7章MATLAB符号计算_第3页
第3页 / 共32页
-第7章MATLAB符号计算_第4页
第4页 / 共32页
亲,该文档总共32页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《-第7章MATLAB符号计算》由会员分享,可在线阅读,更多相关《-第7章MATLAB符号计算(32页珍藏版)》请在金锄头文库上搜索。

1、第第7章章 MATLAB符号计算符号计算 7.1 符号计算基础符号计算基础 7.2 符号导数及其应用符号导数及其应用 7.3 符号积分符号积分 7.4 级数级数 7.5 符号方程求解符号方程求解 7.1 符号计算基础符号计算基础 7.1.1 符号对象符号对象 1. 建立符号变量和符号常数建立符号变量和符号常数 (1)sym函数函数 sym函数用来建立单个符号量,例如,函数用来建立单个符号量,例如, a=sym(a)建立符号变量建立符号变量a,此后,用户可以在表,此后,用户可以在表 达式中使用变量达式中使用变量a进行各种运算。进行各种运算。 例例7.1 考察符号变量和数值变量的差别。考察符号变量

2、和数值变量的差别。 在在 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的行列式的行列式 例例7.2 比较符号常数与数值在代数运算时的差别。比较符号常数与数值在代数运算时的差别。 在在 MATLAB命令窗口

3、,输入命令:命令窗口,输入命令: 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) % 计算数值表达式值计算数值表达式

4、值 (2)syms函数函数 syms函数的一般调用格式为:函数的一般调用格式为: syms var1 var2 varn 函数定义符号变量函数定义符号变量var1,var2,varn等。用这等。用这 种格式定义符号变量时不要在变量名上加字符分种格式定义符号变量时不要在变量名上加字符分 界符界符(),变量间用空格而不要用逗号分隔。,变量间用空格而不要用逗号分隔。 2. 建立符号表达式建立符号表达式 建立符号表达式有以下建立符号表达式有以下3种方法:种方法: (1)利用单引号来生成符号表达式。利用单引号来生成符号表达式。 (2)用用sym函数建立符号表达式。函数建立符号表达式。 (3) 使用已经定

5、义的符号变量组成符号表达式。使用已经定义的符号变量组成符号表达式。 7.1.2 基本的符号运算基本的符号运算 1. 符号表达式的四则运算符号表达式的四则运算 符号表达式的四则运算和其他表达式的运算并无不符号表达式的四则运算和其他表达式的运算并无不 同,但要注意,其运算结果依然是一个符号表达式。同,但要注意,其运算结果依然是一个符号表达式。 符号表达式的加、减、乘、除运算可分别由函数符号表达式的加、减、乘、除运算可分别由函数 symadd、symsub、symmul和和symdiv来实现,幂运来实现,幂运 算可以由算可以由sympow来实现。来实现。 2符号表达式的提取分子和分母运算符号表达式的

6、提取分子和分母运算 如果符号表达式是一个有理分式或可以展开为有理分式,可利用如果符号表达式是一个有理分式或可以展开为有理分式,可利用 numden函数来提取符号表达式中的分子或分母。其一般调用格函数来提取符号表达式中的分子或分母。其一般调用格 式为:式为: n,d=numden(s) 该函数提取符号表达式该函数提取符号表达式s的分子和分母,分别将它们存放在的分子和分母,分别将它们存放在n与与d中。中。 3.因式分解与展开因式分解与展开 factor(S) 对对S分解因式,分解因式,S是符号表达式或是符号表达式或 符号矩阵。符号矩阵。 expand(S) 对对S进行展开,进行展开,S是符号表达式

7、或是符号表达式或 符号矩阵。符号矩阵。 collect(S) 对对S合并同类项,合并同类项,S是符号表达式是符号表达式 或符号矩阵。或符号矩阵。 collect(S,v) 对对S按变量按变量v合并同类项,合并同类项,S是符是符 号表达式或符号矩阵。号表达式或符号矩阵。 4.表达式化简表达式化简 MATLAB提供的对符号表达式化简的函数有:提供的对符号表达式化简的函数有: simplify(S) 应用函数规则对应用函数规则对S进行化简。进行化简。 simple(S) 调用调用MATLAB的其他函数对表达式进的其他函数对表达式进 行综合化简,并显示化简过程。行综合化简,并显示化简过程。 5符号表达

8、式与数值表达式之间的转换符号表达式与数值表达式之间的转换 利用函数利用函数sym可以将数值表达式变换成它的符号表达式。可以将数值表达式变换成它的符号表达式。 函数函数numeric或或eval可以将符号表达式变换成数值表达式。可以将符号表达式变换成数值表达式。 7.1.3 符号表达式中变量的确定符号表达式中变量的确定 MATLAB中的符号可以表示符号变量和符号常中的符号可以表示符号变量和符号常 数。数。findsym可以帮助用户查找一个符号表达式可以帮助用户查找一个符号表达式 中的的符号变量。该函数的调用格式为:中的的符号变量。该函数的调用格式为: findsym(S,n) 函数返回符号表达式

9、函数返回符号表达式S中的中的n个符号变量,若没有个符号变量,若没有 指定指定n,则返回,则返回S中的全部符号变量。中的全部符号变量。 在求函数的极限、导数和积分时,如果用户没有在求函数的极限、导数和积分时,如果用户没有 明确指定自变量,明确指定自变量,MATLAB将按缺省原则确定将按缺省原则确定 主变量并对其进行相应微积分运算。可用主变量并对其进行相应微积分运算。可用 findsym(S,1)查找系统的缺省变量,事实上,查找系统的缺省变量,事实上, MATLAB按离字符按离字符x最近原则确定缺省变量。最近原则确定缺省变量。 7. 1. 4 符号矩阵符号矩阵 transpose(S) 返回返回S

10、矩阵的转置矩阵。矩阵的转置矩阵。 determ(S) 返回返回S矩阵的行列式值。矩阵的行列式值。 colspace(S) 返回返回S矩阵列空间的基。矩阵列空间的基。 7.2 符号导数及其应用符号导数及其应用 7.2.1 函数的极限函数的极限 limit函数的调用格式为:函数的调用格式为: limit(f,x,a) limit函数的另一种功能是求单边极限,其调用格函数的另一种功能是求单边极限,其调用格 式为:式为: limit(f,x,a,right) 或或 limit(f,x,a,left) 例例7.10求极限。求极限。 在在MATLAB命令窗口,输入命令:命令窗口,输入命令: syms a

11、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中的求导的函数为:中的求导的函数为: di

12、ff(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) %

13、求求(2)。求。求f对对x的三阶导数的三阶导数 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的偏导数的偏导数 f=x2+y2+z2-a2; zx=-diff(f,x)/diff(f,z) %求

14、求(5)。按隐函数求导公式求。按隐函数求导公式求z对对x的偏导数的偏导数 diff(f,y)/diff(f,z) %求求。按隐函数求导公式求。按隐函数求导公式求 对对 的偏导数的偏导数 例例7.4 在曲线在曲线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 7.3 符号积分符号积分 7.3.1 不定积分不

15、定积分 在在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 符号函数的定积分符号函数的定积分 定积分在实际工作中有广泛的应用。在定积分在实际工作中有广泛的应用。在 MATLAB中,定积分的计算使用函数:中,定积分的计算使用函数: int(f,x,a,b) 例例7.6 求定积分。求定积分。 命令如下:命令如下: x=sym(x);t=sym(t); int(abs(1-x),1,2)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号