数学软件 Matlab的

上传人:镜花****ul 文档编号:100460997 上传时间:2019-09-23 格式:PPT 页数:36 大小:331KB
返回 下载 相关 举报
数学软件 Matlab的_第1页
第1页 / 共36页
数学软件 Matlab的_第2页
第2页 / 共36页
数学软件 Matlab的_第3页
第3页 / 共36页
数学软件 Matlab的_第4页
第4页 / 共36页
数学软件 Matlab的_第5页
第5页 / 共36页
点击查看更多>>
资源描述

《数学软件 Matlab的》由会员分享,可在线阅读,更多相关《数学软件 Matlab的(36页珍藏版)》请在金锄头文库上搜索。

1、1,数学软件 Matlab, Matlab 符号运算,2,主要内容,Matlab 符号运算介绍 符号对象与基本符号运算 symvar、 subs 和 vpa 常见的符号计算(重点内容),3,符号运算,计算以推理方式进行,不受计算误差累积所带来的困扰,符号计算指令的调用比较简单,与教科书上的公式相近,符号计算可以给出完全正确的封闭解,或任意精度的数值解(封闭解不存在时 ),符号计算所需的运行时间相对较长,符号运算的特点,4,Matlab 符号运算,Matlab 符号运算是通过符号数学工具箱(Symbolic Math Toolbox)来实现的。,Matlab 的符号数学工具箱可以完成几乎所有得符

2、号运算功能,如:符号表达式的运算,符号矩阵的运算,符号微积分,符号作图,符号代数方程求解,符号微分方程求解等。 此外,该工具箱还支持可变精度运算,即支持以指定的精度返回结果。,Matlab 符号运算,5,符号运算举例,求一元二次方程 ax2 + bx + c = 0 的根,solve(a*x2+b*x+c=0),求的根 f (x) = (cos x)2 的一次导数,x=sym(x); diff(cos(x)2),计算 f (x) = x2 在区间 a, b 上的定积分,syms a b x; int(x2,a,b),6,内容提要,Matlab 符号运算介绍 符号对象与基本符号运算 symvar

3、、 subs 和 vpa 常见的符号计算,7,在进行符号运算时,必须先定义基本的符号对象,可以是 符号变量、符号表达式等 符号对象是一种数据结构,符号对象,符号表达式:含有符号对象的表达式称,符号矩阵/数组:元素为符号表达式的矩阵/数组,Matlab 符号对象,8,sym 用来建立单个符号对象,一般调用格式为:,符号对象的定义/声明:sym、syms,符号对象的建立,符号变量 = sym(x),参数 x 可以是一个数或数值矩阵,也可以是字符串,b=sym(1/3),C=sym(1 ab; c d),9,符号对象的建立,syms 符号变量1 符号变量2 . 符号变量n,a=sym(a); b=s

4、ym(b); c=sym(c);,syms 用来声明多个符号变量,一般调用格式为:,符号对象的定义/声明:sym、syms,10,例:,建立符号表达式通常有以下 2 种方法: (1) 用 sym 函数直接建立符号表达式 (2) 使用已经定义的符号变量组成符号表达式,y=sym(sin(x)+cos(x),x=sym(x); y=sin(x)+cos(x),符号表达式,syms x; y=sin(x)+cos(x),符号表达式:含符号对象的表达式,11,Matlab 符号运算采用的运算符和基本函数,在形状、名称和使用上,都与数值计算中的运算符和基本函数完全相同,基本符号运算,普通运算:,数组运算

5、:,矩阵转置:,基本运算,基本数学函数,三角函数与反三角函数、指数函数、对数函数等,sin,cos,asin,acos,exp,log,abs,diag,tril,triu, .,+ - * / ,.* . ./ ., .,12,符号矩阵,A=sym(1+x, sin(x); 5, exp(x),使用 sym 函数直接生成,将数值矩阵转化成符号矩阵,符号矩阵中元素的引用和修改,B=2/3, sqrt(2); 5.2, log(3); C=sym(B),A=sym(1+x, sin(x); 5, exp(x); A(1,2) % 引用 A(2,2)=sym(cos(x) % 重新赋值,符号矩阵的

6、生成,13,内容提要,Matlab 符号运算介绍 符号对象与基本符号运算 symvar、 subs 和 vpa 常见的符号计算,14,symvar,symvar(s),symvar(s, N),列出符号表达式中的符号变量,按字母顺序列出符号表达式 s 中的所有符号变量,列出符号表达式 s 中离 x 最近的 N 个符号变量 若有两个符号变量与 x 的距离相等,则ASCII 码大者优先 常量 pi, i, j 不作为符号变量,f=sym(2*v-3*y+z2+5*a) symvar(f) symvar(f,2),例:,15,subs,用 a 替换符号表达式 s 中的符号变量 x 这里 a 可以是

7、数/变量/表达式 或 符号变量/表达式,符号替换,用给定的数据替换符号表达式中的指定的符号变量,subs(s,x,a),syms x y u v; f1=2*x+y-1; f2=subs(f1,x,u) f3=subs(f1,y,2+3) f3=subs(f1,x,y,u,v),例:,16,subs 举例,f=sym(2*u); f1=subs(f,u,2) f2=subs(f,u,u+2) f3=subs(f,u,1,2) a=3; f4=subs(f2,u,a+2) f5=subs(f2,u,a+2) syms x y; f6=subs(f,u,x+y) f7=subs(f6,x,y,1,

8、2) f8=subs(f6,x,y,x+y,x+y),例:指出下面各条语句的输出结果,符号变量若没有声明,则需要加上单引号!,17,vpa,计算表达式 s 的值,保留 n 位有效数字 返回值是符号对象,可变精度,vpa(s,n),x1=vpa(sin(pi/2),10) x2=vpa(pi3,3) x3=vpa(pi,100),例:,18,内容提要,Matlab 符号运算介绍 符号对象与基本符号运算 symvar、 subs 和 vpa 常见的符号计算(六类运算),因式分解、展开、合并、简化、通分和反函数等 计算极限 计算导数 计算积分 符号级数求和 代数方程和微分方程的求解(重点与难点),1

9、9,因式分解,factor(f),syms x; f=x6+1; factor(f),factor 也可用于正整数的分解,s=factor(100),factor(12345678901234567890) % ERROR factor(sym(12345678901234567890),对大整数进行因式分解时可以先将其转化成符号常量,例:,例:,因式分解,20,函数简化,y=simplify(f),函数简化,对符号表达式 f 进行简化,syms x; f=sin(x)2 + cos(x)2; y=simplify(f),例:,21,函数简化,y=simple(f),函数简化,对 f 尝试多种

10、不同的方法(包括 simplify)进行简化, 以寻求其最简短形式,例:化简,syms x; f=(cos(x)2-sin(x)2)*sin(2*x)*(exp(2*x) . -2*exp(x)+1)/(exp(2*x)-1); y1=simplify(f) y2=simple(f),22,计算极限,limit(f,x,a) % 计算 limit(f,a) % 当默认变量趋向于 a 时的极限 limit(f) % 计算 a=0 时的极限 limit(f,x,a,right) % 计算右极限 limit(f,x,a,left) % 计算左极限,例:计算 ,,syms x h n; L=limit

11、(log(x+h)-log(x)/h,h,0) M=limit(1-x/n)n,n,inf),计算极限,23,计算导数,g=diff(f,v) % 求符号表达式 f 关于变量 v 的导数 g=diff(f) % 计算关于默认变量的导数 g=diff(f,v,n) % 求 f 关于 v 的 n 阶导数,计算导数,syms x; f=sin(x)+3*x2; g1=diff(f,x) g2=diff(f,x,3),例:,24,计算积分,int(f,v,a,b) % 计算定积分 int(f,a,b) % 计算关于默认变量的定积分 int(f,v) % 计算不定积分 int(f) % 计算关于默认变量

12、的不定积分,syms x; f=(x2+1)/(x2-2*x+2)2; I=int(f,x) K=int(exp(-x2),x,0,inf),例:计算 和,计算积分,25,符号级数求和,syms n; f=1/n2; S=symsum(f,n,1,inf) S100=symsum(f,n,1,100),symsum(f,v,a,b) % 级数求和 symsum(f,a,b) % 关于默认变量求和,例:计算级数 及其前100项的部分和 S100,例:计算函数级数,syms n x; f=x/n2; S=symsum(f,n,1,inf),符号级数求和,26,代数方程求解,solve(f,v) %

13、 求方程关于指定自变量的解,代数方程求解,这里 f 可以用字符串表示或符号表达式 solve 也可解方程组(通常是非线性的) 得不到解析解时,给出数值解,例:,solve(2*x-3) % 或 solve(2*x-3=0),syms x; solve(2*x-3) % 不能写成 solve(2*x-3=0),syms x; solve(2*x-sin(x)+1),27,微分方程求解,用 Maltab自带函数 解初值问题,求微分方程解析解:dsolve,求微分方程数值解*(自学,选学): ode45、ode23、 ode113、ode23t、ode15s、 ode23s、ode23tb,28,d

14、solve 求解析解,dsolve 的使用,y=dsolve(eq1,eq2, . ,cond1,cond2, . ,v),其中 y 为输出, eq1、eq2、.为微分方程,cond1、cond2、.为初值条件,v 为自变量。,例 1:求微分方程 的通解,并验证。,y=dsolve(Dy+2*x*y=x*exp(-x2),x) syms x; diff(y)+2*x*y - x*exp(-x2),29,dsolve 的使用,几点说明,如果省略初值条件,则表示求通解;,如果省略自变量,则默认自变量为 t,dsolve(Dy=2*x,x); dy/dx = 2x dsolve(Dy=2*x); d

15、y/dt = 2x,若找不到解析解,则返回其积分形式。,微分方程中用 D 表示对 自变量 的导数,如:,Dy y; D2y y; D3y y,30,例 2:求微分方程 在初值条件 下的特解,并画出解函数的图形。,y=dsolve(x*Dy+y-exp(x)=0,y(1)=2*exp(1),x) ezplot(y);,dsolve 的使用,31,例3:求微分方程组 在初值条件 下的特解,并画出解函数的图形。,x,y=dsolve(Dx+5*x+y=exp(t),Dy-x-3*y=0, . x(0)=1, y(0)=0, t) ezplot(x,y,0,1.3);,注:解微分方程组时,如果所给的输出个数与方程个数相同,则方程组的解按词典顺序输出;如果只给一个输出,则输出的是一个包含解的结构(structure)类型的数据。,dsolve 的使用,32,例:,x,y=dsolve(Dx+5*x=0,Dy-3*y=0, . x(0)=1, y(0)=1,t),r = dsolve(Dx+5*x=0,Dy-3*y=0, .

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

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > 其它

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