[高等教育]Matlab教程Ch.ppt_第1页
[高等教育]Matlab教程Ch.ppt_第2页
[高等教育]Matlab教程Ch.ppt_第3页
[高等教育]Matlab教程Ch.ppt_第4页
[高等教育]Matlab教程Ch.ppt_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1,第5章 MATLAB符号运算,2,本章目标,理解符号运算的有关概念 掌握使用符号运算解决符号推导、微积分、方程等问题的方法,3,主要内容,5.1 数值运算与符号运算 5.2 符号变量和符号表达式 5.3 符号表示式的运算 5.4 微积分 5.5 方程求解,4,5,5.1数值运算与符号运算,数值运算在运算前必须先对变量赋值,再参加运算。 符号运算不需要对变量赋值就可运算,运算结果以标准的符号形式表达。,符号是数学的语言,是人们进行表示、计算、推理、交流和解决问题的工具。,6,符号语言,引进字母表示,是学习数学符号、学会用符号表示具体情境中隐含的数量关系和变化规律的重要一步。 第一,用字母表示运算法则、运算定律以及计算公式。算法的一般化,深化和发展了对数的认识。 第二,用字母表示现实世界和各门学科中的各种数量关系。 第三,用字母表示数,便于从具体情境中抽象出数量关系和变化规律,并确切地表示出来,从而有利于进一步用数学知识去解决问题。,7,例如,交换律,结合律,分配律 例如,匀速运动中的速度v、时间t和路程s的关系是s=vt。 例如,我们用字母表示实际问题中的未知量,利用问题中的相等关系列出方程。,8,“能从具体的情境中抽象出数量关系和变化规律,并用符号来表示”应从以下几个方面去理解。 第一,这种表示常常从探索和发现规律以及进行归纳推理开始,然后用数学式一般化地将它们表示出来。 第二,用字母表示的关系或规律通常被用于计算(或预测)某个未给出的或不易直观得到的值。 第三,用字母表示的关系或规律通常也可用于判断或证明某一个结论。,9,用数学式表示是由特殊达到一般的过程,而由数学式求值和利用数学公式求值是从一般到特殊的过程,可以进一步体会字母表示数的意义。,10,另外,字母和表达式在不同场合有不同的意义。如: 5=2x+1表示x所满足的一个条件,事实上,x这里只占一个特殊数的位置,可以利用解方程找到它的值; y=2x表示变量之间的关系,x是自变量,可以取定义域内任何数,y是因变量,y随x的变换而变化; (a+b)(ab)=ab表示一个一般化的算法,表示一个恒等式; 如果a和b分别表示矩形的长和宽,S表示矩形的面积,那么S=ab表示计算矩形面积公式,同时也表示矩形的面积随长和宽的变化而变化。,11,如果说数学是一种语言的话,则数字和字母就是这种语言的“字母”,表达式就是这种语言的“词”,关系式(如等式、不等式)就是这种语言的“句子”既然是语言,就会有相应的语法,数学的语法就是各种符号演算的法则和规定等只有学习、熟悉、掌握数学这种语言的语法,才能利用数学这种语言进行推理、计算、交流和理解问题,12,能选择适当的程序和方法解决用符号所表示的问题(将问题用符号表示出来?符号化;选择算法,进行符号运算),13,在某种意义上看来,符号感与数学运算是相辅相成的符号的运用成就了数学运算,反之,数学运算又促进了符号的运用没有数学运算的介入,符号将失去意义,更谈不上符号感的形成与发展所以,数学运算是符号感的发展和延续、是对符号感的补充与巩固符号感建立较好的学生,在数学运算中的理解、表述大都会较好,反之,数学运算的训练又会强化学生的符号感数学运算就是符号的运算,是更深层次的符号感的体现,它的逻辑性、抽象性对我们能力的培养及其后续发展有着不可替代的作用,14,5.2符号计算基础,5.2.1 符号对象 1. 建立符号变量和符号常数 (1)sym函数 sym函数用来建立单个符号量,例如,a=sym(a)建立符号变量a,此后,用户可以在表达式中使用变量a进行各种运算。,15,例5.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的行列式,16,例5.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) % 计算数值表达式值,17,(2)syms函数 syms函数的一般调用格式为: syms var1 var2 varn 函数定义符号变量var1,var2,varn等。用这种格式定义符号变量时不要在变量名上加字符分界符(),变量间用空格而不要用逗号分隔。,18,2. 建立符号表达式 例6.3用两种方法建立符号表达式。 在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 %求符号表达式的值,19,例5.4计算3阶范得蒙矩阵行列式的值。设A是一个由符号变量a,b,c确定的范得蒙矩阵。 命令如下: syms a b c; U=a,b,c; A=1,1,1;U;U.2 %建立范得蒙符号矩阵 det(A) %计算A的行列式值,20,例5.5建立x,y的一般二元函数。 在MATLAB命令窗口,输入命令: syms x y; f=sym(f(x,y);,21,5.2.2 基本的符号运算,1. 符号表达式运算 (1)符号表达式的四则运算 例5.6符号表达式的四则运算示例。 在 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),22,(2)因式分解与展开 factor(S) 对S分解因式,S是符号表达式或符号矩阵。 expand(S) 对S进行展开,S是符号表达式或符号矩阵。 collect(S) 对S合并同类项,S是符号表达式或符号矩阵。 collect(S,v) 对S按变量v合并同类项,S是符号表达式或符号矩阵。,23,例5.7 对符号矩阵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的每个元素分解因式,24,例5.8 计算表达式S的值。 命令如下: syms x y; s=(-7*x2-8*y2)*(-x2+3*y2); expand(s) %对s展开 collect(s,x) %对s按变量x合并同类项(无同类项) factor(ans) % 对ans分解因式,25,(3)表达式化简 MATLAB提供的对符号表达式化简的函数有: simplify(S) 应用函数规则对S进行化简。 simple(S) 调用MATLAB的其他函数对表达式进行综合化简,并显示化简过程。 例5.9化简 命令如下: syms x y; s=(x2+y2)2+(x2-y2)2; simple(s) %MATLAB自动调用多种函数对s进行化简,并显示每步结果,26,2. 符号矩阵运算 transpose(S) 返回S矩阵的转置矩阵。 determ(S) 返回S矩阵的行列式值。 colspace(S) 返回S矩阵列空间的基。 Q,D=eigensys(S) Q返回S矩阵的特征向量,D返回S矩阵的特征值。,27,5.2.3 符号表达式中变量的确定 MATLAB中的符号可以表示符号变量和符号常数。findsym可以帮助用户查找一个符号表达式中的的符号变量。该函数的调用格式为: findsym(S,n) 函数返回符号表达式S中的n个符号变量,若没有指定n,则返回S中的全部符号变量。 在求函数的极限、导数和积分时,如果用户没有明确指定自变量,MATLAB将按缺省原则确定主变量并对其进行相应微积分运算。可用findsym(S,1)查找系统的缺省变量,事实上,MATLAB按离字符x最近原则确定缺省变量。,28,5.2 符号变量和符号表达式,符号变量和符号表达式在使用前必须说明 sym函数 f1=sym(ax2+bx+c) %创建符号变量f1和一个符号表达式 syms函数 clear syms a b c x whos Name Size Bytes Class a 1x1 126 sym object b 1x1 126 sym object c 1x1 126 sym object x 1x1 126 sym object,29,5.3 符号表示式的运算,5.3.1算术运算 clear f1 = sym(1/(a-b) ); f2 = sym(2*a/(a+b) ); f3 = sym( (a+1)*(b-1)* (a-b) ); f1+f2 %符号和 ans = 1/(a-b)+2*a/(a+b) f1*f3 %符号积 ans = (a+1)*(b-1) f1/f3 %符号商 ans = 1/(a-b)2/(a+1)/(b-1),30,5.3.2 函数运算,1合并、化简、展开等函数 collect函数:将表达式中相同幂次的项合并; factor函数:将表达式因式分解; simplify函数:利用数学中的函数规则对表达式进行化简; numden函数:将表示式从有理数形式转变成分子与分母形式。 2反函数 finverse(f,v) 对指定自变量为v的函数f(v)求反函数 3复合函数 compose(f,g) 求f=f(x)和g=g(y)的复合函数f(g(y) compose(f,g,z) 求 f=f(x)和g=g(y)的复合函数f(g(z) 4表达式替换函数 subs(s) 用赋值语句中给定值替换表达式中所有同名变量 subs (s, old, new) 用符号或数值变量new替换s中的符号变量old,31,例,clear f1 =sym(exp(x)+x)*(x+2); f2 = sym(a3-1); f3 = sym(1/a4+2/a3+3/a2+4/a+5); f4 = sym(sin(x)2+cos(x)2); collect(f1) ans = x2+(exp(x)+2)*x+2*exp(x) expand(f1) ans = exp(x)*x+2*exp(x)+x2+2*x factor(f2) ans = (a-1)*(a2+a+1) m,n=numden(f3) %m为分子,n为分母 m = 1+2*a+3*a2+4*a3+5*a4 n = a4 simplify(f4) ans = 1,32,例,clear syms x y finverse(1/tan(x) %求反函数,自变量为x ans = atan(1/x) f = x2+y; finverse(f,y) %求反函数,自变量为y ans = -x2+y clear syms x y z t u; f = 1/(1 + x2); g = sin(y); h = xt; p = exp(-y/u); compose(f,g) %求f = f(x) 和 g = g(y)的复合函数f(g(y) ans = 1/(1+sin(y)2),33,例,clear syms a b subs(a+b,a,4) %用4替代a+b中的a ans = 4+b subs(cos(a)+sin(b),a,b,sym(alpha),2) %多重替换 ans = cos(alpha)+sin(2) f=sym(x2+3*x+2) f = x2+3*x+2 subs(f, x, 2) %求解f当x=2时的值 ans = 12,34,5.4 微积分,5.4.1极限,35,36,5.4.2 微分,diff(f) 求表达式f对默认自变量的一次微分值; diff(f, t) 求表达式f对自变量t的一次微分值; diff(f,n) 求表达式f对默认自变量的n次微分值; diff(f,t,n) 求表达式f对自变量t的n次微分值。,37,38,5.4.3 积分,int(f) 求表达式f对默认自变量的积分值; int(f, t) 求表达式f对自变量t的不定积分值; int(f, a, b) 求表达式f对默认自变量的定积分 值,积分区间为a,b; int(f, t, a, b) 求表达式f对自变量t的定积分值,积 分区间为a,b,39,40,5.5 方程求解,5.5.1数学方程 数学方程的求解由函数solve实现: solve(f) 求解符号方程式f solve(f1,fn) 求解由f1,fn组成的数学方程组 5.5.2常微分方程

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论