大学数学实验5-符号计算.ppt_第1页
大学数学实验5-符号计算.ppt_第2页
大学数学实验5-符号计算.ppt_第3页
大学数学实验5-符号计算.ppt_第4页
大学数学实验5-符号计算.ppt_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

符号对象的建立 变量的相互转换 利用符号函数画图 符号计算 数学计算有数值计算与符号计算之分,两者的区 别很明显,符号计算可以看作是一个通用的公式 类表达法;而数值计算则是通过一些具体的算法 实现来得到最后的数学结果 ;在数值计算中, 所运作的变量都是被赋了值的数值变量,而在符 号计算中,运算过程与运算结果中存在非数值的 符号变量。 两者的根本区别是:数值计算的表达式中不允许 有未定义的自由变量,而符号计算可以含有未定 义的符号变量。 数值运算包括:多项式运算(多项式相乘、 相加、相除、多项式求导、求根、多项式拟 合)、矩阵的算术运算(矩阵分解、特征值 与特征向量、行列式、逆矩阵)、 线性方程 组求解、常微分方程的数值解、数据统计分 析、数值积分、求解优化问题等 符号运算包括:微积分、符号微分方程求解 、符号代数方程求解、积分变换等。 符号对象的建立 在进行符号运算前,应先声明用到的变量哪 些是符号变量,哪些表达式是符号表达式 ,MATLAB提供了两个建立符号对象的函数 :sym和syms 符号变量 s=sym(arg) 建立一个符号量,arg可以是常量、变量、函 数或表达式。 syms arg1 arg2 argn 定义多个符号变量。用这种格式定义符号变量 时不要在变量名上加字符串分界符(),变量 间用空格而不要用逗号分隔。 例 比较数值型、字符型、符号型,注意观 察符号变量的保存方式 x=input(Input x please.); s=12345 t=123456 y=sym(123456) z=sym(123456) syms a b c syms a,t,y,z 符号表达式 直接创建:f=sym(2*x2+b*x+c) 符号表达式2*x2+b*x+c直接赋给了符号变 量,但对于符号表达式中的变量x,b,c并未创 建,因此系统并不认识符号b,c。 间接创建:在创建符号表达式前,先把符 号表达式中的所有变量定义为符号变量,然 后直接键入表达式。用间接创建法得到的符 号表达式才是真正意义下的表达式。 例 定义表达式a*x2+b*x+c为符号表达式, 并求关于x的导数与积分 syms a b c x f=a*x2+b*x+c diff(f) int(f) 符号方程 符号方程的创建与符号表达式相同,它们的 区别仅在于:符号方程必须带等号“=”,而符 号表达式则不包含等号。 例 f=sym(a*x2+b*x+c=0) 符号矩阵 直接创建:利用sym命令,矩阵元素可以是 任何的符号变量、符号表达式及方程,且元 素的长度可以不同。 间接创建:在创建符号矩阵前,先把符号矩 阵的所有变量定义为符号变量,然后按照创 建普通矩阵的格式输入。 例 创建符号矩阵 直接创建: A=sym(sin(x),x+y=2,a;2,6+cos(tan(x),1/ x) 间接创建: syms a x y e=sym(x+y=2) f=sym(6+cos(tan(x) A=sin(x),e,a;2,f,1/x 由数值矩阵转化为符号矩阵: 例 b=1 2 3;4 5 6 c=sym(b) 变量的相互转换 将字符变量转换为数值变量 x=eval(s) 将字符型变量s(必须是全 为数字的字符)转换为数值变量x x=str2num(s) 将字符型变量s(可以含 有字母)转换为数值变量x 例 a=1,2;3,4 b=eval(a) c=str2num(a) x=123456 y=eval(x) z=str2num(x) 再试试下面的命令 s=hello s1=eval(s) s2=str2num(s) %返回一个空矩阵 例 x1=134 s1=num2str(x1) x2=1/2 s2=num2str(x2) 将数转换为字符变量 s=num2str(x) 将数x转换为字符变量s 转换为双精度数值变量 x=double(s) 将s转换为双精度型数值变量,当s是符号变 量时,它必须是全为数字的符号,返回数值 变量x;当s是字符变量时,返回矩阵x,矩阵 中的元素是相应的ASCII值 例 s1=sym(136.8) x1=double(s1) s2=123456 x2=double(s2) s3=12ab56 x3=double(s3)再试试下面的命令 s4=sym(12ab8) x4=double(s4) 利用符号函数画图 二维曲线 ezplot(f) ezplot(f,min,max,) ezplot(f,xmin,xmax,ymin,ymax,) 绘制二维函数f(x,y)的曲线图,参数为x,y 取值范围,默认情况下,取值区间为(- 2,2) 例 绘制函数f=x4-y2的曲线图 syms x y f=x4-y2 ezplot(f) 例 求函数x=cos(2*t),y=sin(t)的曲线图 syms t; x=cos(2*t); y=sin(t); ezplot(x,y) ezplot(x,y) ezplot(x,y,tmin,tmax) 绘制二维函数x=x(t),y=y(t)的二维曲 线,变量t的取值范围为tmin,tmax,默 认情况下取值为为(0,2)。 ezcontour(f) ezcontour(f,domain) 绘制函数f(x,y)的等高线图,x和y的取值范 围为domain,当domain为 xmin,xmax,ymin,ymax时, 表示xminxxmax,yminyymax; 当 domain为min,max时,表示 minxmax,minymax; 默认情况下,为- 2x2,-2y2。 等高线 例 绘制函数f=3*exp(-(x2)-(y+1)2)-10*(x/5- x3-y5)*exp(-x2-y2)的等高线图: syms x y; f=3*exp(-(x2)-(y+1)2)-10*(x/5-x3- y5)*exp(-x2-y2); ezcontour(f) %绘制等高线图,默认变量的取 值范围 figure(2) ezcontour(f,-1,1,-3,-1)%关注局部等高线状 况 ezplot3(x,y,z) ezplot3(x,y,z,tmin,tmax) 绘制三维函数x=x(t),y=y(t),z=z(t)的三维曲线 ,变量t的取值范围为tmin,tmax,默认情 况下取值为为(0,2)。 三维曲线 例 绘制函数x=cos(t),y=sin(t),z=t的曲线图 syms t; x=cos(t); y=sin(t); z=t; ezplot3(x,y,z) figure(2) ezplot3(x,y,z,-3*pi,3*pi) ezsurf(f) ezsurf(f,domain) 绘制函数f(x,y)的三维曲面图,x和y的取值范 围为domain,当domain为 xmin,xmax,ymin,ymax时,表示 xminxxmax,yminyymax; 当domain为 min,max时,表示 minxmax,minymax; 默认情况下为- 2x2,-2y2。 三维曲面 例 绘制函数f=2*cos(x)+y的三维曲面图 syms x y; f=2*cos(x)+y; ezsurf(f) 如果将命令换为ezmesh,与原来所讲过的 区别是一样的。 ezsurf(x,y,z) ezsurf(x,y,z,smin,smax,tmin,tmax) ezsurf(x,y,z,min,max) 绘制函数x=x(s,t),y=y(s,t),z=z(s,t)的三维曲 面图,s,t的取值范围为 sminssmax,tminttmax 或者 mins,tmax; 默认情况下为-2s2,- 2t2。 例 绘制函数x=cos(s),y=sin(t),z=1/3*s的 三维曲面图 syms s t; x=cos(s); y=sin(t); z=1/3*s; ezsurf(x,y,z) 微积分 复合函数运算 compose(f,g) f=f(x),g=g(y),得到复合函数为f(g(y)。 compose(f,g,t) f=f(x),g=g(y),得到复合函数为f(g(t) 例 将函数 复合到一个函数中 syms x y; f=1/x3 g=tan(y) compose(f,g) 例 将函数 复合到一个函数中, 并指定自变量为t syms x y t; f=1/x3 g=tan(y) compose(f,g,t) 符号表达式的反函数运算 g=finverse(f) f是一个符号函数表达式,其变量为x,求得的 反函数g是满足g(f(x)=x的符号函数,即f的反 函数。 g=finverse(f,t) 求得的反函数g是满足g(f(t)=t的符号函数, 即得到自变量为t的f的反函数。当函数包含 不止一个符号变量时,往往使用这种求反函 数的调用格式。 例 求函数 的反函数 f=sym(1/sin(x) g=finverse(f) 例 分析下列语句的执行结果 f=sym(1/sin(x)+y) g=finverse(f,x) 例 求f=x2+1的反函数 f=sym(x2+1) finverse(f) 极限 limit(f,n,inf) 当n趋于无穷大时符号表达式f 的极限 limit(f) 当x趋于0时符号表达式f的极限 limit(f,x,a) 当x趋于a时符号表达式f的极限 limit(f,x,a,left) 当x从左侧趋于a时符号表达 式数f的极限 limit(f,x,a,right) 当x从右侧趋于a时符号表 达式f的极限 例 下列语句是求的哪些函数的极限,结 果如何? syms x; limit(sin(x)/x,x,0) syms x; limit(sin(1/x),x,0) syms n; limit(1+1/n)n,n,inf) syms x; limit(1+1/x)x,x,inf) syms x; limit(1/x,x,0,left) 导数 diff(f,x,n) 符号表达式f对自变量x的n阶导数 例 下列语句是求的哪 些函数的导数,结果如 何? syms x; y=sin(x)/x; diff(y,x,1) syms x; diff(1/x,x,2) 练习与思考: 自己找一些函数,求极限、导数,画出函数 的图形,观察极值点、拐点的大致位置,求 零点,驻点等。 不定积分和定积分 int(f,x) 对变量x求不定积分,f为符号表达式。 int(f,x,a,b) 对变量x求从a到b的定积分,f为符 号表达式。 例 求不定积分 syms x n y=int(xn) syms x n int(xn,x) 或 者 例 求不定积分 syms a x y=1/(a2-x2); int(y,x); pretty(int(y,x) 例 计算 syms a b x y=a*x b*x2; 1/x sin(x) int(y,x) pretty(int(y,x) 例 求不定积分 syms x y=log(x)/exp(x2) int(y,x) 例 求定积分 syms x y=int(x7,x,0,1) 例 求定积分 并画出被积函数的 图形 syms x y1=1+x-1/x; y2=exp(x+1/x); f=y1*y2; int(f,x,1/2,2) ezplot(f) 例 求 syms x t y1=exp(t2); y2=t*y12; z1=int(y1,t,0,x); z2=int(y2,t,0,x); f=z12/z2; limit(f,x,0) 例 变上限函数 求导 syms x t y=sqrt(1-t2); f=int(y,t,0,x2); diff(f) pretty(simple(diff(f) 广义积分、暇积分 int(f,x,a,inf) 求区间(a,+)上的广义积分,f 为符号表达式,是被积函数,积分变量为x。 int(f,x,-inf,b) 求区间(-,b)上的广义积分 ,f为符号表达式,是被积函数,积分变量为x 。 int(f,x,-inf,inf) 求区间(-,+)上的广义积 分,f为符号表达式,是被积函数,积分变量 为x。 例 计算广义积分 syms x f=1/(x4); int(f,x,1,inf) syms x y=int(exp(sin(x)-x2/50),-inf,inf) vpa(y,10) %据表达式x得到n为有效数字的 符号数字 最后一行命令换成下面的命令,又怎么样 double(y) 例 计算暇积分 syms x y=int(1/(1+sin(x)*sqrt(x),0,1) vpa(y,10) %据表达式x得到n为有效 数字的符号数字 最后一行命令换成下面的命令,又怎么样 double(y) 多元微积分学 对于多元函数中的某一变量求偏导数,等 价于将其余变量看作常量,仅对该变量求导 即可,因此转化为一元函数的求导问题。 对于重积分的计算,只要将其化为累次积 分即可以按照定积分来进行计算。 例 求二次积分 syms x y int(int(x*y,y,2*x,x2+1),x,0,1) 级数求和 symsum(s,k,a,b) 符号表达式s相对于符号 变量k求和,k从a到b累加 例 求级数 syms x

温馨提示

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

评论

0/150

提交评论