第三章MATLAB的符号运算

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

见example3_3
见example3_4
6
Matlab符号运算的几个基本概念
符号对象(P49):
符号对象是symbolic math toolbox定义的一种新的数据 类型(sym类型),用来存储代表非数值的字符符号(通 常是大小写的英文字母及字符串)。符号对象可以是符号 常量(符号形式的数),符号变量,符号函数以及各种符 号表达式(符号数学表达式,符号方程与符号矩阵)
创建符号对象与函数命令(P50)
1、函数命令sym()格式 格式1 s=sym(a)(a代表一个数字值、数值矩阵、数值表达式 格式2 s=sym(‘a’)(a代表一个字符串) 2、函数命令syms格式 syms s1 s2 s3;创建3个符号对象
7
符号常量
符号常量是一种符号对象。数值常量如果作为函数命令 sym()的输入参量,这就建立了一个符号对象——符 号常量 例如:sym(1/8)
df df d f 例6:已知函数 f x sin 2 y 求 , , dx dy dxdy
2
2
xe 例7:已知函数 f 2 求 y
y
f f , x y
见example3_12
22
df x a 求原函数 例8:已知导函数 dx
2 f ( x ) x 例9:已知导函数 求

b
见example3_2
5
d d 2 2 例4:导函数 (cos x) 和 (cos x ) dx dx
见example3_3 例5:计算不定积分
xdx 和定积分
b
a
xdx
见example3_3
dy ay 例6:求解一阶微分方程 dt
a b 例7:求以下矩阵行列式的值 p c d
a
f ( x)dx
2 2 I d r 例10:计算重积分 sin dr ? 0 0

a
例11:计算广义积分

4s i n t
2
4 xtdx ?
见example3_13
23
Matlab符号方程求解
Matlab符号代数方程的求解
格式1:solve(‘eqn1’,’eqn2’,…’eqnN’,’v1’,’v2’,…’vN’) 对方程组eqn1,eqn2,…eqnN按照变量v1,v2,…vN联立求解
的傅立叶变换F(w) df (t ) 例4:求函数 dt 的傅立叶变换F(w)
例5:求函数 F (w) 2 (w) 的傅立叶反变换f(t)
见example3_16 29
符号函数的可视化
ezplot(f):绘制f=f(t),t的范围-2*pi<t<2*pi ezplot(f,[a,b]):绘制f=f(t),t的范围a<t<b ezplot(f):对于符号f=f(x,y),ezplot(f)在图形窗口 中绘制符号方程f(x,y)=0的图形, -2*pi<x<2*pi, -2*pi<y<2*pi。 ezplot(f,[xmin,xmax,ymin,ymax]) ezplot(x,y):绘制符号方程x=x(t),y=y(t)的图形, 0<t<2*pi; ezplot(x,y,[tmin,tmax])
11
符号对象转换为数值对象的函数double(), vpa() 1、double() 这种格式的功能是将符号常量转换为双精度数值 2、vpa() 精确计算表达式的值。 格式1:R=vpa(E) 格式2:R=vpa(E,D)
12
例1:计算以下符号常量的值 c e
79
并将结果转换为指定精度8位与18位的精确数值解。 见example3_8
ztrans(f) —— Z变换 例:>>zf=ztrans(2^n) zf=1/2*z/(1/2*z-1) iztrans(f) —— 反Z变换 Laplace(f) —— 拉氏变换 例:>>sf=laplace(t^5) sf=120/s^6 ilaplace(f) —— 反拉氏变换 fourier(f) —— 付氏变换 ifourier(f) —— 反付氏变换 simple(f) ——化简表达式 例:>>f=sym(‘cos(x)^2+sin(x)^2’); >>simple(f) ans=1
0.3333 0.2500 0.2000
10
数值转化为符号
sym(‘数值变量’,’f’)-返回浮点表示形式 sym(‘数值变量’,’r’)-返回有理数表示形式 sym(‘数值变量’,’e’)-返回有理数(带误差)表示形式 sym(‘数值变量’,’d’)-返回十进制小数表示形式
– 例: >>sym(4/3,'f') ans ='1.5555555555555'*2^(0) >> sym(4/3,'r') ans =4/3 >> sym(4/3,'e') ans =4/3-eps/3 >> sym(4/3,'d') ans =1.3333333333333332593184650249896
4
例1:求解一元二次方程 x
2
2 x 2 0 的解。
见example3_1
2 2 x y yx x 2x 合并关于 例2:对于数学表达式 x 的同类项。
见example3_2
2 ( x 1)( x 2)( x 3) 即三 例3:对于数学表达式
因式连乘积的展开式。
符号变量
符号变量通常是指一个或几个特定的字符,不是指符号 表达式,虽然可以将一符号表达式赋值给一个符号变量。 符号变量的命名规则与数值变量相同。 例如: a=sym(‘alpha’) syms alpha beta gama;
8
符号表达式、符号函数与符号方程(P50) 符号表达式是由符号常量、符号变量、符号函数 用运算符或专用函数连接而成的符号对象。符号 表达式有两类: 符号函数和符号方程。 例:f=sym(‘a*x^2+b*2+c’) 或syms a b c x f=‘a*x^2+b*2+c’
n
例1:已知 f ax by k 试对其进行符号变量替换: n 5, k a sin(t ), b ln(w).k cedt 符号常量替换:
与数组数值替换:k 1:1: 4
见example3_6
15
例2:已知 f a sin x k 试求当: a 1:1: 2, x 0 : : 时函数f的值。 6 3 见example3_7
18
例5:试对 e1 sin2 x cos2 x
e2 百度文库cln( )
进行综合化简。 例6:试对 e1 ln x ln y
e2 2cos x sin x
2 2
e3 cos x j sin x
e4 x3 3x2 3x 1
e5 cos x sin x
13
Matlab符号运算的基本运算(P52)
符号加:+ 符号减:符号乘:* 符号表达式的幂运算:^
见example3_5
14
Matlab符号运算的基本内容
符号变量代换及其函数subs(P54)(重点)
格式:f=subs(s,old,new) 功能:将符号表达式S中的old变量替换为new。old一定 是符号表达式s中的符号变量,而new可以是符号变量、 符号常量、双精度数值与数值数组相等。 格式:f=subs(s,new) 功能用new置换符号表达式s中的自变量
20
1 n ) e 例1:试证明 lim(1 n n
x m a ? 例2:试求 lim x a xa
m
sin x 例3:试求 lim ? x0 x
lim e ?, lim e ? 例4:试求 x 0 x 0
1 x
1 x
见example3_11
21
2 df d f x 例5:已知函数 f a 求 , 2 dx dx
见example3_15
26
例4:求欧拉方程的通解
x y x y 4xy 3x
3 2
2
例5:求满足初始条件的二阶常系数非齐次微分方程的特解
y y sin(2x) 0, y x 1, y x 1
见example3_15
27
符号运算实现各种变换
28
例1:求单位冲激函数 (t ) 与函数 f (t ) 1 的傅立叶变换F(w) 例2:求单位延迟阶跃函数 u(t c) 的傅立叶变换F(w) 例3:求函数 Au(t )e
t
f (t ) cos bt
当cos无法直接FT时, 考虑欧拉公式 1/2(exp(jt)+exp(-jt)
Matlab符号微分方程的求解
dsolve(‘eqn1’,’eqn2’,…’初始条件部分’,’指定独立变量部分’)
24
例1:对以下方程联立方程组
y2 z 2 x2 yz a x 2 bx c
求a=1,b=2,c=3时的x,y,z
见example3_14
25
例2:求微分方程组的通解
2
符号运算与数值运算的区别
数值运算: 1. 其运算的元素是数 值; 2. 在运算过程中必须 先对变量进行赋值, 然后才能参加运算; 3. 其结果以数值形式 出现。
符号运算: 1. 其运算的元素是符 号; 2. 在运算过程中无须 对变量进行赋值就 可参加运算;但是 必须先定义符号变 量; 3. 其结果以符号形式 出现。
9
数组、矩阵与符号矩阵(P51)
m1=sym(‘[ab bc cd ; de ef fg ; h l j]’) m2=sym(‘[1 12;23 34]’)
– 例: – >>A=hilb(3); A= 1.0000 0.5000 0.5000 0.3333 0.3333 0.2500 >> A=sym(A) A= [ 1, 1/2, 1/3] [ 1/2, 1/3, 1/4] [ 1/3, 1/4, 1/5]
3
符号运算与数值运算的区别
例求解:
f 2 1 其中 (1 5) /2
中f的值 。
数值运算 : 符号运算: >>rho=(1+sqrt(5))/2 >>rho=sym(‘(1+sqrt(5))/2 ’) rho=1.6180 >>f=rho^2-rho+1 rh0= (1+sqrt(5))/2 f=2.000 >>f=rho^2-rho+1 f=(1/2+1/2*5^(1/2))^2+1/2 -1/2*5^(1/2))
第3章 MATLAB的符号运算
1
MATLAB符号运算入门
科学与工程技术的数值运算固然重要,但自然科学 理论分析各种各样的公式、关系式及其推导就是符 号运算要解决的问题。它与数值运算一样,都是科 学计算研究的重要内容。Matlab数值运算的对象是 数值,而Matlab符号运算的对象则是非数值的符号 对象。符号对象就是代表非数值的符号字符串。
16
符号表达式的化简 1、 factor() 符号表达式因式分解的函数命令 2、expand() 将符号表达式展开 3、collect() 符号表达式的合并 格式1:collect(E,v) 按v变量合并 格式2:collect(E)按默认变量合并
4、simplify() ,simple() 将将符号表达式运用多种恒等式变换进行综合化简 格式1:simplify(E) ,simple(E) 格式2:[R,HOW]=simple(E) 17
例1:已知 f x3 x2 x 1 试对其进行因式分解。 例2:已知 c 12345678901234567890 试对其进行质因式分解。 例3:已知 f ( x y)3 试对其进行展开。 例4:已知 f axecx becx 试对其进行同类项合并。 见example3_9
2 2
进行综合化简。
见example3_9
19
Matlab符号微积分运算(P55)
符号极限运算limit(f,x,a) x->a
符号微分运算diff(f,x,n)
符号积分运算int(f),int(f,a,b)
函数命令findsym(f,n) 在微积分、函数表达式化简、解方程中,确定自变量 是必不可少的。在不指定自变量的情况下,按照数学 常规,自变量通常都是小写英文字母,并且为字母表 末尾的几个如t、w、x、y、z等等。在matlab中,用 此函数确定一个符号表达式中的自变量。
dy dx 2 x y t dt dt dy 5 x 3 y t 2 dt
例3:求微分方程组的通解以及满足所给初始条件的特解
dx y , x 0 t 0 dt dy x, y 1 t 0 dt
相关文档
最新文档