第6章MATLAB符号计算-资料

合集下载

Matlab符号计算

Matlab符号计算

s=log(2*x/y);
simplify(s)
ans =
log(2)+log(x/y)
s=(-a^2+1)/(1-a)
simplify(s)
ans =
a+1
函数simple试用几种不同的化简工具,然后选择在结果中含有最少字符的那种形式。如下例:
syms x y;
syms x y;
V=3*x^2-5*y+2*x*y+6
V =
3*x^2-5*y+2*x*y+6
二.基本的符号运算
1.四则运算:
符号表达式的加减乘除可以分别利用函数symadd、symsub、symmul、symdiv来实现,幂运算可以由sympow来实现。
例:
f=‘2*x^2+3*x-5’ %定义符号表达式
④limit(f,x,a,’right’),求极限,’right’表示变量x从右边趋近于a。
⑤limit(f,x,a,’left’),求极限,’left’表示变量x从左边趋近于a。
例:求下列极限
syms a m x;
f=(x^(1/m)-a^(1/m))/(x-a);
g=‘x^2-x+7’
U=symadd(f,g) %求f+g
V=symsub(f,g) %求f-g
W=symmul(f,g) %求f*g
X=symdiv(f,g) %求f/g
Y=sympow(f,’3*x’) %求f^(3x)
另外,与数值运算一样,也可以用+ - * / ^运算符来实现符号运算。如:
①limit(f,x,a)求符号函数f(x)的极限。当x趋向于a时,f(x)的极限值。

MATLAB 中的符号运算

MATLAB 中的符号运算

时函数的极限。
,求当 x 1, x 0 , x 0 , x
► syms x
%声明符号变量
► fx= 1/(1+exp(-1/x)); %建立符号函数fx
► limit(fx,x,1)
%求fx : x->1的极限
► limit(fx,x,0, 'right') %求fx : x->0的右极限
► limit(fx,x,0, 'left') %求fx : x->0的左极限
2、通过画图观察极限
lim
x0
cos
1 x
,
lim
x0
1 x
sin
1 x
,理解振荡间断点的
概念,无界量和无穷大量之间的关系。
3、设 y
3 e4t sin(4 2
3t
3
)
要求以
0.01秒为间隔,求出y的151个点,
并求出其导数的值和曲线.
fx=a*x^2+b*x+c %建立符号函数
solve(fx)
%求方程fx=0的符号解
ans = [ 1/2/a*(-b+(b^2-4*a*c)^(1/2))]
solve(fx, b )
%求方程fx=0关于变量b的符号解
ans = -(a*x^2+c)/x
上机练习题
1、已知函数 f (x) ex sin 4x, x [1,6] ,求出函数 f (x)的一阶导函数、 二阶导函数,并画出它们相应的曲线;研究函数性态,如单 调区间,极值点、拐点及凹凸区间。
或:
syms 符号变量1 符号变量2 …
f=表达式
例:符号多项式运算

MATLAB中的符号运算精品PPT课件

MATLAB中的符号运算精品PPT课件

符号变量 当字符表达式中含有多于一个的变量时,只有一个变 量是独立变量。如果不告诉MATLAB哪一个变量是独 立变量,MATLAB将基于以下规则选择一个:
在符号表达式中缺省的独立变量是唯一的,除去i和j 的小写字母,不是单词的一部分。如果没有这种字 母,就选择x作为独立变量。如字符不是唯一的,就 选择在字母顺序中最接近x的字母。如果有相连的字 母,就选择在字母表中较后的那一个。
symvar( ' 3*i+4*j ' ) % i and j are equel to sqrt(-1) ans= x
symvar( ' y+3*s ' , ' t ' ) ans= s % find the variable closest to t rather than x
如果利用规则symvar不能找到一个缺省独立变量, 它便假定无独立变量并返回x。这一结论对含有由 多个字母组成的变量,如:alpha或s2的表达式, 或不含变量的符号常数均成立。如果需要,绝大多 数命令都使用用户选项以指定独立变量。
symvar( ' a*x+y*) % find the default symbolic variable ans= x
symvar( ' a*t+s/(u+3) ' ) % u is the closest to ' x ' ans= u
symvar( ' sin(omega) ' ) % ' omega ' is not a singlee character。 ans= x
MATLAB中的符号运算
2004.8.4
MATLAB所具有的符号数学工具箱与其 它所有工具不同,它适用于广泛的用 途,而不是针对一些特殊专业或专业 分支。另外,MATLAB符号数学工具 箱与其它的工具箱区别还因为它使用 字符串来进行符号分析,而不是基于 数组的数值分析。

MATLAB的符号计算

MATLAB的符号计算

符号数学工具箱中的工具是建立在功能强大 符号数学工具箱中的工具是建立在功能强大 的称作Maple软件的基础上。它最初是由加拿 软件的基础上。 大的滑铁卢( 大的滑铁卢 ( Waterloo ) 大学开发的。 当要 大学开发的 。 求MATLAB进行符号运算时,它就请求Maple 进行符号运算时, 去计算并将结果返回到MATLAB命令窗口。 命令窗口。 因此, 因此 , 在 MATLAB 中的符号运算是 MATLAB 处理数字的自然扩展。 处理数字的自然扩展。
积分 运用函数可以求得符号表达式的积分,该函数用 以演算函数的积分项,这个函数要找出一符号表 达式F使得diff(F)=f。相关的用法如下: 达式F使得diff(F)=f。相关的用法如下: ①int(f)返回f对预设独立变量的积分值。 int(f)返回f ② int(f,’t’)返回f对独立变量t的积分值。 int(f,’ 返回f对独立变量t ③ int(f,a,b)返回f对预设独立变量的积分值,积分 int(f,a,b)返回f对预设独立变量的积分值, 区间为[a,b], 区间为[a,b],a和b为数值表达式。 ④ int(f,’t’,a,b)返回f对独立变量t的积分值,积分区 int(f,’ ,a,b)返回f对独立变量t的积分值, 间为[a,b], 间为[a,b],a和b为数值表达式。 ⑤ int(f,’m’,’n’)返回f对预设独立变量的积分值,积 int(f,’ 返回f对预设独立变量的积分值, 分区间为[m,n], 分区间为[m,n],m和n为符号表达式。
左趋近于a
lim f ( x )
x →a −
limit(f,x,a,’left’)
lim f ( x )
x →a +
右趋近于a limit(f,x,a,’right’)

MATLAB学习 第6章 MATLAB符号计算

MATLAB学习 第6章 MATLAB符号计算

目录
(2)因式分解与展开 factor(S) 对S分解因式,S是符号表达式或符号 矩阵。 expand(S) 对S进行展开,S是符号表达式或符 号矩阵。 collect(S) 对S合并同类项,S是符号表达式或符 号矩阵。 collect(S,v) 对S按变量v合并同类项,S是符号表 达式或符号矩阵。
目录
6.2 符号导数及其应用
6.2.1函数的极限 limit函数的调用格式为: limit(f,x,a) limit函数的另一种功能是求单边极限,其调用格式为: limit(f,x,a,'right') 或 limit(f,x,a,'left')
目录
例6.10求极限
x a sin(x a) sin(x a) lim , lim , x a x a x 0 / x
f=
f = 2/5 -3*x+2*x^3 f= (x+y)*(x-y)
syms x y z; f=2*x+x^2*x-5*x+x^3 %符号表达式的结果为最简形式 f=2*x/(5*x) %符号表达式的结果为最简形式 f=(x+y)*(x-y) %符号表达式的结果不是x^2-y^2,而是(x+y)*(x-y)
syms x y; s=(x^2+y^2)^2+(x^2-y^2)^2; simple(s) %MATLAB自动调用多种函数对s进行化简,并显示每步结果
目录
2. 符号矩阵运算 transpose(S) 返回S矩阵的转置矩阵。 determ(S) 返回S矩阵的行列式值。 colspace(S) 返回S矩阵列空间的基。 [Q,D]=eigensys(S) Q返回S矩阵的特征向量,D返回S矩阵的 特征值。

MATLAB的符号运算V精简版

MATLAB的符号运算V精简版

ans=[2+y,4+y,6+y]
>> subs(f,x,[1:3]) >> subs(f,{x,y},{[1:3],[5:7]})
ans=[7 10 13]
>> subs(f,{x,y},{a+b,a-b}) >> subs(f,{x,y},{x+y,x-y})
Copyright © CUGB
2024/4/3
Matlab的符号运算
符号对象建立时可以附加属性: real、positive 和 unreal
>> x=sym('x','real') >> k=sym('k','positive') >> x=sym('x','unreal')
表明 x 是实的 表明 k 是正的 去掉 x 的附加属性
Copyright © CUGB 2024/4/3
Matlab的符号运算
符号表达式的建立
>> syms x >> f1=sin(x)+cos(x)
推荐!
>> f2=sym(’sin(x)+cos(x)’)
Copyright © CUGB 2024/4/3
Matlab的符号运算
相关函数
➢ findsym: 查找符号表达式中的符号变量
findsym(f) 按字母顺序列出符号表达式 f 中的所有自由变量 findsym(f,N) 列出 f 中距离 x 最近的 N 个自由变量(i,j 除外)
Matlab的符号运算
其它运算

MATLAB符号运算PPT课件

MATLAB符号运算PPT课件
sym函数用来建立单个符号量,一般调用格式为: 符号量名=sym('符号字符串') 该函数可以建立一个符号量,符号字符串可以是常量、变 量、函数或表达式。 应用sym函数还可以定义符号常量,使用符号常量进行 代数运算时和数值常量进行的运算不同。
2021/5/8
8
2.9 符号变量和符号达式
(2) syms 函数
符号变量和符号表达式在使用前必须说明
syms函数 如果一个数学符号表示式中有多个符号,

z = a*t^2+b*t+c 可以用多个符号变量定义语
句放在此式前面。
>> clear
>> syms a b c t
>> whos
Name Size
Bytes Class
a
1x1
126 sym object
运算复杂的数学式,这也是我们使用它的目的。
2021/5/8
5
2.8数值运算与符号运算
数值运算在运算前必须先对变量赋值,再参加 运算。
符号运算不需要对变量赋值就可运算,运算结 果以标准的符号形式表达。
2021/5/8
6
2.8数值运算与符号运算
在MATLAB中是将一符号表示式储存唯 一字串 (character string),即是以二个单 引号之内的表示式来定义其为 一符号式, 例如:
b
1x1
126 sym object
c
1x1
126 sym object
t
1x1
126 sym object
2021/5/8
12
2.10 符号表示式的运算
2.10.1 算术运算或四则运算

Matlab 第六讲:符号计算

Matlab 第六讲:符号计算
例:计算级数 及其前100项的部分和
>> syms n; f=1/n^2; >> S=symsum(f,n,1,inf) >> S100=symsum(f,n,1,100)
例:计算函数级数 S
x n2 n 1

>> syms n x; f=x/n^2; >> S=symsum(f,n,1,inf)
下面的命令运行结果会是什么? f=2*u ans=4
f2=2*(u+2)
ans=14 ans=2*((a+2)+2) f3=2*x+2*y ans=6
>> subs(f3,[x,y],[x+y,x+y])
15
符号矩阵
使用 sym 函数直接生成
>> A=sym('[1+x, sin(x); 5, exp(x)]') 将数值矩阵转化成符号矩阵 >> 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)') % 重新赋值
9
基本符号运算
Matlab 符号运算采用的运算符和基本函数,在形状、名称 和使用上,都与数值计算中的运算符和基本函数完全相同
基பைடு நூலகம்运算符
普通运算:+ 数组运算:.* 矩阵转置:'
-

matlab符号运算基础

matlab符号运算基础

4. 符号变量的确定
当符号表达式具有多个变量时,只有一个 变量是独立变量,MATLAB将基于以下准则 选择独立变量: • 小写字母i和j不能作为自由变量 • 小写字母x是首选符号变量 • 其余小写字母被选中的次序是:在英文 字母中,靠近x的优先,如果与x距离相 同,则x之后的优先 • 大写字母比所有小写字母都靠后
24
因式分解 factor(s):符号表达式s的因式分解 horner(s):符号表达式s的嵌套形式,即用多 层括号的形式表示
25
例 分解因式 x a
3
3
>> syms x a; >> f=x^3-a^3 f= x^3 - a^3 >> factor(f) ans = -(a - x)*(a^2 + a*x + x^2)
26
例 将符号矩阵表达式的各个元素分解为 多个因式 x 3 b3 x 4 1 5 6 x 1 x 1
>> syms x b; >> f=[x^3+b^3 x^4-1; x^5-1 x^6-1] f= [ b^3 + x^3, x^4 - 1] [ x^5 - 1, x^6 - 1] >> factor(f)
三、符号运算基础
MATLAB 不仅具有数值运算功能,还开发了 实现符号计算的工具包Symbolic Math Toolbox
•符号运算的操作对象是非数值的符号对象
1
• 符号数学工具箱中的工具是建立在功能强 大的Maple的基础上。 • 它最初是由加拿大的滑铁卢(Waterloo)大 学开发出来的。 • 如果要求Matlab进行符号运算,那么首先 由Maple计算并将结果返回到Matlab命令 窗口。

Matlab基础——符号的计算

Matlab基础——符号的计算
[3, 2*x + 1] [a*x + a*y, 3*x + 4] d= [ 2, 3] [ x*y, 1]
3.符号表达式的因式分解与展开
● factor(s):对符号表达式s分解因式。 ● expand(s):对符号表达式s进行展开。 ● collect(s):对符号表达式s合并同类项。 ● collect(s,v):对符号表达式s按变量v合并同类项。
表达式s求n阶导数,n为正整数。 ● diff(s,'v',n):以v为自变量,对符号表达式s求n阶
导数。
【例 7.3】求下列函数的导数。
(1)y=cosx2,求 y'、y''、y'''。
( 2)

x y

a(t sin t) b(1 cos t)
,求
y'x

(3)
z

x6
3 y4
● limit(f,x,a):求符号函数f(x)的极限值,即计算当变量x趋近于常数 a时,f(x)函数的极限值。变量可以是其他的符号变量。
● limit(f[,a]):求当默认自变量x趋近于常数a时,符号函数f(x)的极限 值。当a默认时,求当默认自变量x趋近于0时的极限值。
● limit(f,x,a,'right')或limit(f,x,a,'left'):求符号函数f的极限值或。 'right'表示变量x从右边趋近于a,'left'表示变量x从左边趋近于a。
例如:
s= sym('(x^2+5*x+6)/(x+2)'); simplify(s) ans= x+3 函数simple试用几种不同的化简工具,然后选择在结果表达式中含有

第6章 MATLAB符号计算

第6章  MATLAB符号计算

[例6-7] • %例6-7 • clear • syms x; • f = 1/tan(x); • g= finverse (f)
%定义函数f %求f的反函数
6.3.4 求极限 [调用命令] limit [调用格式] h=limit(f,x,a) h为函数f的极限值(当x→a时) [其他格式] h=limit(f,x,a, ‘left’) 返回函数f的左极限 h=limit(f,x,a, ‘right’) 返回函数f的右极限
%定义符号矩阵
6.3.10 代数方程求解 [调用命令] solve [调用格式] h=solve(eq,var) h为结果表达式,eq为方程式eq=0左侧的符号 表达式,置于单引号内。Var为未知变量 [其他格式] h=solve(eq1,eq2,…,eqn) h=solve(eq1,eq2,…,eqn,var1,var2,…,varn)
2. 使用m文件 先定义符号,然后可以直接形成符号函数 [例6-4] 编一个符号函数,将矩阵的元素置换为符号t • %例6-4 • %定义f0604函数—下述代码另 存 • 为工作目录下的f0604.m文件 • function A= f0604(N) • %这是一个符号函数。 • %它将矩阵的元素变为符号t • syms t; • for i=1:N • for j=1:N • A(i,j)=t; • end • end
[例6-6] • %例6-6 • clear • syms x y; • f = 1/(1 + x^2); • g = sin(y); • h= compose(f,g)
%定义函数f %定义函数g %求复合函数f(g(y)
6.3.3 反函数 [调用命令] finverse [调用格式] h=finverse(f) h为函数f的反函数 [其他格式] h=finverse(f,v) 返回函数f关于变量v的反函 数

Matlab教程课件-matlab符号计算

Matlab教程课件-matlab符号计算

计算极限
limit(f,x,a)
%
计算
lim f ( x)
xa
limit(f,a) % 当默认变量趋向于 a 时的极限
limit(f)
% 计算 a=0 时的极限
limit(f,x,a,'right') % 计算右极限
simplify((1/x^3 + 6/x^2 + 12/x + 8)^(1/3)) ans = ((2*x + 1)^3/x^3)^(1/3)
simplify(exp(x) * exp(y)) % 指数函数化简 ans = exp(x + y)
simplify(cos(x)^2 + sin(x)^2) % 三角函数化简
f=1
f = simple(2*cos(x)^2 - sin(x)^2) f = 2 - 3*sin(x)^2 f = simple(cos(x) + i*sin(x)) % 虚部单位i f = exp(x*i)
f = simple(cos(3*acos(x)))
f = 4*x^3 - 3*x
18
计算极限
8
常见符号计算
• 替换 • 化简 • 极限 • 导数 • 积分 • 级数求和 • 代数方程和微分方程求解
9
subs
符号替换
用给定的数据替换符号表达式中的指定的符号变量
subs(s,x,a)
用 a 替换符号表达式 s 中的符号变量 x 这里 a 可以是 数/变量/表达式 或 符号变量/表达式 例: syms x y u v;
符号计算
Symbolic Computations
Yang Xiaodong School of Mathematics, Shandong University

MATLAB中的符号计算方法及应用

MATLAB中的符号计算方法及应用

MATLAB中的符号计算方法及应用导言在计算机科学领域,符号计算是一种重要的技术手段,它通过代数符号的表达和计算,使得计算机能够处理和求解数学问题,尤其是涉及到复杂的代数式和方程组的求解。

MATLAB是一款功能强大的数值计算软件,其内置了丰富的符号计算工具包,使得符号计算在MATLAB中得以广泛应用。

本文将介绍MATLAB中常用的符号计算方法及其应用,包括符号变量的定义与操作、符号表达式的简化与计算、符号方程的求解以及符号积分和微分运算等方面。

一. 符号变量的定义与操作在MATLAB中,通过声明符号变量可以创建代表数学符号的对象。

符号变量可以表示任意复杂的代数式,包括常数、变量、函数等。

定义符号变量的基本语法是使用"syms"关键字,后跟一个或多个以空格或逗号分隔的变量名。

例如,下面的代码定义了两个符号变量x和y:```MATLABsyms x y;```在定义符号变量后,我们可以对其进行各种操作,包括代数运算、求导、求积等。

例如,我们可以定义一个符号表达式expr,并通过操作符对其进行计算:```MATLABexpr = x^2 + 2*x + 1;result = simplify(expr + 1);```上述代码中,我们对表达式expr进行了简化操作,将其与常数1相加,并将结果存储在变量result中。

通过这种方式,我们可以对复杂的代数式进行简化和计算,从而得到更清晰和简洁的结果。

二. 符号表达式的简化与计算MATLAB中的符号计算工具包提供了丰富的函数,用于对符号表达式进行求值、简化、展开等操作。

这些函数可以大大简化数学计算的过程,提高计算效率。

1. 符号表达式的求值在MATLAB中,我们可以使用subs函数对符号表达式进行求值。

subs函数接受两个参数,第一个参数是要求值的表达式,第二个参数是用于替换变量的数值。

例如,我们可以使用subs函数将符号表达式expr中的x替换为3,求得结果:```MATLABresult = subs(expr, x, 3);```上述代码中,我们将表达式expr中的x替换为3,并将结果存储在变量result 中。

matlab符号运算

matlab符号运算

matlab符号运算符号计算1.符号计算的优点:所谓符号计算是指解算数学表达式、方程时,不是在离散化的数值点上进行的,而是凭借一系列的恒等式和数学定理,通过推理和演算获得的解析结果。

这种计算建立在数值完全准确表达和严格推演的基础之上,因而所得结果完全准确。

当然,也存在者不足,后文将会提到。

符号变量的优点是,使用符号变量运算得到的只是一个解析解,例如,在符号变量运算过程中pi就用pi表示,而不是具体的近似数值3.14或3.14159。

使用符号变量进行运算能最大限度减少运算过程中因舍入造成的误差。

符号变量也便于进行运算过程的演示。

2.符号对象的创建:2.1单个符号变量S = sym(A)将非符号对象(如,数字,表达式,变量等)A转换为符号对象,并存储在符号变量S中。

x = sym('x')创建符号变量x,其名字是'x'。

示例:alpha = sym('alpha')x = sym('x', 'real')这里假设x是实数,因此有x的共轭conj(x)等于x。

示例:r = sym('Rho','real')k = sym('k', 'positive') %09版不能用这个方法实现这里创建一个正的(实数)符号变量。

x = sym('x', 'clear')创建一个没有额外属性的纯形式上的符号变量x(例如,创建符号变量x,但是并没指定它是正的或它是一个实数)。

为了兼容旧的MATLAB版本,x = sym('x','unreal')的功能和x = sym('x', 'clear')一样。

S = sym(A, flag)把一个数值标量或矩阵转换为符号型的对象。

这里flag参数的值可以是:'r', 'd', 'e', or 'f',它指定了对浮点数进行转换时的规则:'f':表示“floating-p oint”。

MATLAB符号计算

MATLAB符号计算

第3章MATLAB符号计算符号计算则是可以对未赋值的符号对象(可以是常数、变量、表达式)进行运算和处理。

MATLAB具有符号数学工具箱(Symbolic Math Toolbox),将符号运算结合到MATLAB的数值运算环境。

符号数学工具箱是建立在Maple软件基础上的。

3.1 符号表达式的建立Symbolic Math Toolbox2.1版规定在进行符号计算时,首先要定义基本的符号对象然后才能进行符号运算。

3.1.1 创建符号常量符号常量是不含变量的符号表达式,用sym命令来创建符号常量。

语法:sym(‘常量’) %创建符号常量例如,创建符号常量,这种方式是绝对准确的符号数值表示:>> a=sym('sin(2)')a =sin(2)sym命令也可以把数值转换成某种格式的符号常量。

语法:sym(常量,参数) %把常量按某种格式转换为符号常量说明:参数可以选择为’d’、’f’、’e’或’r’四种格式,也可省略,其作用如表3.1所示。

表3.1 参数设置a=sym('sin(2)')a =sin(2)例如,把常量转换为符号常量,按系统默认格式转换:a=sym(sin(2))a =8190223105242182*2^(-53)【例3.1】创建数值常量和符号常量。

a1=2*sqrt(5)+pi %创建数值常量a1 =7.6137a2=sym('2*sqrt(5)+pi') %创建符号表达式a2 =2*sqrt(5)+pia3=sym(2*sqrt(5)+pi) %按最接近的有理数型表示符号常量a3 =8572296331135796*2^(-50)a4=sym(2*sqrt(5)+pi,'d') %按最接近的十进制浮点数表示符号常量a4 =7.6137286085893727261009189533070a31=a3-a1 %数值常量和符号常量的计算a31 =a5='2*sqrt(5)+pi' %字符串常量a5 =2*sqrt(5)+pi图3.1 工作空间窗口可以通过查看工作空间来查看各变量的数据类型和存储空间,工作空间如图3.1所示。

Matlab符号计算

Matlab符号计算

2、导数
diff(f) %求 f 对自由变量的一阶导数 diff(f,t) %求 f 对符号变量 t 的一阶导数 diff(f,n) %求 f 对自由变量的 n 阶导数 diff(f,t,n) %求 f 对符号变量 t 的 n 阶导数 syms x a b c f=a*x^2+b*x+c; diff(f) diff(f,a) diff(f,x,2)
s=‘xywzv’; double(s)-double(‘x’) syms x w z ff=f*x*z^2 findsym(ff) %查看表达式中所有自由符号变量 findsym(ff,2) %按最优顺序查找 2 个自由符号变 量
五、符号函数在高等数学中的应用
1、极限
函数 limit 用于求符号函数 f 的极限。系统可以根 据用户要求,计算变量从不同方向趋近于指定值的极 限值。 limit(f,x,a):计算当变量x趋近于常数a时,f(x)函数的 极限值 limit(f,x,a, 'right'): 求符号函数f的极限值。'right' 表示 变量x从右边趋近于a limit(f,x,a, 'left'): 求符号函数f的极限值。'left' 表示变量 x 从左边趋近于 a
1、 syms 函数
在一个语句中同时定义多个符号变 量,其一般格式为: syms arg1 arg2 …argN
例如: syms x y a b c f=a*x^2+b*x+c %建立符号表达式 syms a11 a12 a21 a22 A=[a11 a12;a21 a22] % 建立符号矩阵 A= [ a11, a12] [ a21, a22]
syms x y collect(x^2*y+y*x-x^2-2*x)
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
例6.9化简 命令如下:
syms x y; s=(x^2+y^2)^2+(x^2-y^2)^2; simple(s) %MATLAB自动调用多种函数对s进行化简,并显示每步结果
目录
2020/4/12
2. 符号矩阵运算 transpose(S) 返回S矩阵的转置矩阵。 determ(S) 返回S矩阵的行列式值。 colspace(S) 返回S矩阵列空间的基。 [Q,D]=eigensys(S) Q返回S矩阵的特征向量,D返回S矩阵的
g= 1/3*((x+1)*x)^(1/2)*x^2+1/12*((x+1)*x)^(1/2)*x1/8*((x+1)*x)^(1/2)+1/16*log(1/2+x+((x+1)*x)^(1/2))
2020/4/12
6.3.2 符号函数的定积分
定积分在实际工作中有广泛的应用。在MATLAB中,定 积分的计算使用函数:
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)/y^2;
diff(f,x)
2020/4/12
目录
例6.10求极限
11
xmam sixna ()sixna ()
lim ,lim
,
x a xa x 0/
x
在MATLAB命令窗口,输入命令:
ans =
syms a m x;
a^(1/m)/a/m
f=(x^(1/m)-a^(1/m))/(x-a);
limit(f,x,a)
%求极限(1)
命令如下:
>>syms a b c; >>U=[a,b,c]; >>A=[[1,1,1];U;U.^2] %建立范得蒙符号矩阵
A=
>>factor(ans)
ans =
[ 1, 1, 1] >[>dae,t(Ab), c] %计算A的行列式值 [anas^2=, b^2, c^2]
2020/4/12
-(-c+b)*(a-c)*(a-b)
在求函数的极限、导数和积分时,如果用户没有 明确指定自变量,MATLAB将按缺省原则确定 主变量并对其进行相应微积分运算。可用 findsym(S,1)查找系统的缺省变量,事实上, MATLAB按离字符'x'最近原则确定缺省变量。
2020/4/12
目录
6.2 符号导数及其应用
6.2.1函数的极限 limit函数的调用格式为: limit(f,x,a) limit函数的另一种功能是求单边极限,其调用格式为: limit(f,x,a,'right') 或 limit(f,x,a,'left')
目录
(2)因式分解与展开
factor(S) 对S分解因式,S是符号表达式或符号 矩阵。
expand(S) 对S进行展开,S是符号表达式或符 号矩阵。
collect(S) 对S合并同类项,S是符号表达式或符 号矩阵。
collect(S,v) 对S按变量v合并同类项,S是符号表 达式或符号矩阵。
2020/4/12
>>syms x y;
%建立符号变量x、y
>3>*Vx=^32*+x5^2*+y5+*2y*+x2**xy*+y+66%定义符号Fra bibliotek达式VV=
ans =
>> 2*U-V+6
%求符号表达式的值
3*x^2+5*y+2*x*y+6
2020/4/12
3*x^2+5*y+2*x*y+12
例6.4计算3阶范得蒙矩阵行列式的值。设A是一个由符号变量a,b,c确 定的范得蒙矩阵。
第6章 MATLAB符号计算
• 在工程、应用数学和科学上经常要用到符号 计算功能。MATLAB开发商Mathwork公司以 maple的内核为符号计算的引擎,依赖 MAOLE已有的库函数,开发了在MATLAB环 境下实现符号计算的工具箱Symbolic Math Toolbox(符号数学工具箱)。
2020/4/12
函数定义符号变量var1,var2,…,varn等。用这种格式定 义符号变量时不要在变量名上加字符分界符('),变量 间用空格而不要用逗号分隔。
2020/4/12
目录
2. 建立符号表达式 例6.3用两种方法建立符号表达式。 在MATLAB窗口,输入命令:
>>U=sym('3*x^2+5*y+2*x*y+6') %定义符号表达式U U=
int(f)
%求不定积分(1)
f=sqrt(x^3+x^4);
int(f)
%求不定积分(2)
g=simple(ans)
%调用simple函数对结果化简
2020/4/12
目录
ans = 27*x-1/7*x^7+9/5*x^5-9*x^3
ans = -1/48*(x^3+x^4)^(1/2)*(16*(x^2+x)^(3/2)+12*(x^2+x)^(1/2)*x+6*(x^2+x)^(1/2)3*log(1/2+x+(x^2+x)^(1/2)))/x/((x+1)*x)^(1/2)
2020/4/12
目录
6.3 符号积分
6.3.1不定积分 在MATLAB中,求不定积分的函数是int,其调用格式为: int(f,x) int函数求函数f对变量x的不定积分。参数x可以缺省,缺省原则
与diff函数相同。
2020/4/12
目录
例6.13求不定积分。
命令如下:
x=sym('x');
f=(3-x^2)^3;
目录
• 6.1 符号计算基础 • 6.2 符号导数及其应用 • 6.3 符号积分 • 6.4 级数 • 6.5 代数方程的符号求解 • 6.6 常微分方程的符号求解
2020/4/12
6.1 符号计算基础
• 符号数学工具箱是操作和解决符号表达式的 版本号数学工具的集合,它包含复合、简化 、微分、积分以及求代数方程和微分方程的 工具。
特征值。
2020/4/12
目录
6.1.3 符号表达式中变量的确定
MATLAB中的符号可以表示符号变量和符号常数 。findsym可以帮助用户查找一个符号表达式 中的的符号变量。该函数的调用格式为:
findsym(S,n)
函数返回符号表达式S中的n个符号变量,若没有 指定n,则返回S中的全部符号变量。
f=(sin(a+x)-sin(a-x))/x;
ans = 2*cos(a)
limit(f)
%求极限(2)
limit(f,inf) %求f函数在x→∞
(包括+∞和-∞)处的极限
ans = 0 ans = 0
limit(f,x,inf,'left')
%求极限(3)
ans =
f=(sqrt(x)-sqrt(a)-sqrt(x-a))/sqrt(x*x-a*a);
>>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
A=
>>B=[w,x;y,z] %建立数值矩阵B
[ a, b] [ c, d]
>> det(B)
目录
例6.5建立x,y的一般二元函数。 在MATLAB命令窗口,输入命令: syms x y; f=sym('f(x,y)');
2020/4/12
目录
6.1.2 基本的符号运算
f=
1. 符号表达式运算
(1)符号表达式的四则运算 例6.6符号表达式的四则运算示例。
-3f*=x+2/25*x^3 f=
目录
例6.7 对符号矩阵A的每个元素分解因式。
命令如下:
syms a b x y;
A=[2*a^2*b^3*x^2-4*a*b^4*x^3+10*a*b^6*x^4,3*x*y5*x^2;4,a^3-b^3];
factor(A)
%对A的每个元素分解因式
ans =
[ 2*a*b^3*x^2*(5*b^3*x^2-2*b*x+a),
limit(f,x,a,'right')
%求极限(4)
-1/2*2^(1/2)/a^(1/2)
目录
2020/4/12
6.2.2 符号函数求导及其应用 MATLAB中的求导的函数为:
diff(f,x,n)
diff函数求函数f对变量x的n阶导数。参数x的用 法同求极限函数limit,可以缺省,缺省值与 limit相同,n的缺省值是1。
%求(4)。z对x的偏导数
diff(f,y)
%求(4)。z对y的偏导数
f=x^2+y^2+z^2-a^2;
zx=-diff(f,x)/diff(f,z) %求(5)。按隐函数求导公式求z对x的偏导数
相关文档
最新文档