第七讲 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的符号运算》PPT课件
精选课件ppt
15
例: syms a b; A =[ a, 2*b; 3*a, 0] A(2,2)=4*b A =[ a, 2*b] [3*a, 4*b]
A2=subs(A1, ‘b', ‘c') A2 =[ a, 2*(c)]
arg1 = sym('arg1');
arg2 = sym('arg2eal is short-hand notation for
arg1 = sym('arg1','real');
arg2 = sym('arg2','real'); 精..选.课件ppt
X=double(s);
X=numeric(s); X=srt2num(s): 字符型转化为数值型,若s中含有 非字符型变量,返回空矩阵。
精选课件ppt
14
7 符号表达式或矩阵的修改
1)重新赋值。 2)指令修改
用A1=subs(A, ‘old’, ‘new’)来修改。
用‘new’置换符号表达式A中的’old’ 得到新的符号表达式A1。
第六章 MATLAB符号计算及工具箱
电子科技大学 王 洪
精选课件ppt
1
MathWorks公司在1993年收购了主要针对符 号计算的MAPLIE V 软件的使用,以MAPLIE内 核为符号计算的引擎,开发了符号数学工具箱 ( Symbolic Math Toolbox )。 MAPLIE占据 符号软件的主导地位,符号运算工具包通过调用 Maple软件实现符号计算的。
9
4. 创建符号矩阵
用sys命令:矩阵元素是不带等号的符号表达式, 矩阵元素长度可以不同。
matlab教程ppt(完整版)
转置
可以使用`'`运算符对矩阵进行 转置。
矩阵高级运算
01
逆矩阵
可以使用`inv`函数求矩阵的逆矩阵 。
行列式
可以使用`det`函数求矩阵的行列式 。
03
02
特征值和特征向量
可以使用`eig`函数求矩阵的特征值 和特征向量。
秩
可以使用`rank`函数求矩阵的秩。
04
04
matlab绘图功能
绘图基本命令
控制设计
MATLAB提供了控制系统设计和分析 工具箱,可以方便地进行控制系统的 建模、分析和优化。
03
信号处理
MATLAB提供了丰富的信号处理工具 箱,可以进行信号的时域和频域分析 、滤波器设计等操作。
05
04
图像处理
MATLAB提供了图像处理工具箱,可 以进行图像的增强、分割、特征提取 等操作。
02
matlab程序调试技巧分享
01
调试模式
MATLAB提供了调试模式,可以 逐行执行代码,查看变量值,设 置断点等。
日志输出
02
03
错误处理
通过使用fprintf函数,可以在程 序运行过程中输出日志信息,帮 助定位问题。
MATLAB中的错误处理机制可以 帮助我们捕获和处理运行时错误 。
matlab程序优化方法探讨
显示结果
命令执行后,结果将在命令窗口中显示。
保存结果
可以使用`save`命令将结果保存到文件中。
matlab变量定义与赋值
定义变量
使用`varname = value`格式定义变 量,其中`varname`是变量名, `value`是变量的值。
赋值操作
使用`=`运算符将值赋给变量。例如 ,`a = 10`将值10赋给变量a。
可以使用`'`运算符对矩阵进行 转置。
矩阵高级运算
01
逆矩阵
可以使用`inv`函数求矩阵的逆矩阵 。
行列式
可以使用`det`函数求矩阵的行列式 。
03
02
特征值和特征向量
可以使用`eig`函数求矩阵的特征值 和特征向量。
秩
可以使用`rank`函数求矩阵的秩。
04
04
matlab绘图功能
绘图基本命令
控制设计
MATLAB提供了控制系统设计和分析 工具箱,可以方便地进行控制系统的 建模、分析和优化。
03
信号处理
MATLAB提供了丰富的信号处理工具 箱,可以进行信号的时域和频域分析 、滤波器设计等操作。
05
04
图像处理
MATLAB提供了图像处理工具箱,可 以进行图像的增强、分割、特征提取 等操作。
02
matlab程序调试技巧分享
01
调试模式
MATLAB提供了调试模式,可以 逐行执行代码,查看变量值,设 置断点等。
日志输出
02
03
错误处理
通过使用fprintf函数,可以在程 序运行过程中输出日志信息,帮 助定位问题。
MATLAB中的错误处理机制可以 帮助我们捕获和处理运行时错误 。
matlab程序优化方法探讨
显示结果
命令执行后,结果将在命令窗口中显示。
保存结果
可以使用`save`命令将结果保存到文件中。
matlab变量定义与赋值
定义变量
使用`varname = value`格式定义变 量,其中`varname`是变量名, `value`是变量的值。
赋值操作
使用`=`运算符将值赋给变量。例如 ,`a = 10`将值10赋给变量a。
Matlab符号计算.ppt
例:syms('a1','a2','a3')
3.1 符号变量的定义 格式二:syms 变量1 变量2 …….
例:syms a1 a2 a3 注意:用格式二时,变量和变量之间只能用空格隔开, 不能用其他分隔符。
符号变量定义之后,就可以参与各种解析运算了。
• 例:创建符号复数变量a+bi;
• 方法一:
分区间为[a,b],其中a和b是数值; (4)int(f,‘m’,‘n’) 返回f对预设变量的积分值,积
分区间为[m,n],其中m,n是符号式;
例:已知 f (x) ax2 bx c 求f(x)的积分
例 求定积分。
命令如下:
x=sym('x');t=sym('t'); int(abs(1-x),1,2)
Maple函数的使用:
格式:maple(‘函数’,变量1,变量2,…….)
其中,函数是maple中的函数名称,变量1,变量2等是 函数所用的参数。
如:matlab中没有专门求差分方程的函数,就可以调用 Maple符号运算工具箱中的迭代运算函数rsolve来求解, 通过maple函数来访问rsolve函数。
3
结果:
3.5 方程求解
1、代数方程 利用符号表达式解代数方程所需要的函数为solve(f),
作用为解符号方程式f; 例:求一元二次方程 f (x) ax2 bx c 的根
例2:
2、常微分方程
matlab解常微分方程式的函数为:
dsolve(‘equ’,’condition’);
其中,equ代表常微分方程式,condition为初始条件, 如果初始条件没有给出,则给出通解形式。
3.1 符号变量的定义 格式二:syms 变量1 变量2 …….
例:syms a1 a2 a3 注意:用格式二时,变量和变量之间只能用空格隔开, 不能用其他分隔符。
符号变量定义之后,就可以参与各种解析运算了。
• 例:创建符号复数变量a+bi;
• 方法一:
分区间为[a,b],其中a和b是数值; (4)int(f,‘m’,‘n’) 返回f对预设变量的积分值,积
分区间为[m,n],其中m,n是符号式;
例:已知 f (x) ax2 bx c 求f(x)的积分
例 求定积分。
命令如下:
x=sym('x');t=sym('t'); int(abs(1-x),1,2)
Maple函数的使用:
格式:maple(‘函数’,变量1,变量2,…….)
其中,函数是maple中的函数名称,变量1,变量2等是 函数所用的参数。
如:matlab中没有专门求差分方程的函数,就可以调用 Maple符号运算工具箱中的迭代运算函数rsolve来求解, 通过maple函数来访问rsolve函数。
3
结果:
3.5 方程求解
1、代数方程 利用符号表达式解代数方程所需要的函数为solve(f),
作用为解符号方程式f; 例:求一元二次方程 f (x) ax2 bx c 的根
例2:
2、常微分方程
matlab解常微分方程式的函数为:
dsolve(‘equ’,’condition’);
其中,equ代表常微分方程式,condition为初始条件, 如果初始条件没有给出,则给出通解形式。
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 算术运算或四则运算
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符号计算
计算极限
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的符号计算PPT教学课件
对函数g求导为:dg/dt
一、符号计算基础
(二)默认符号变量
为了了解函数引用过程中使用的符号变量个数及变量 名,可以用findsym函数查询默认的变量。该函数的引用 格式为:
findsym(f,n) 说明:f为用户定义的符号函数, n为正整数,表示查询变量的个数。
n=i,表示查询i个系统默认变量。n值省略时表示查询 符号函数中全部系统默认变量。
ax2 by 2 f (x, y)
c2
一、符号计算基础
(四) 生成符号函数
其用符号表达式生成符号函数fxy的过程 为:
syms a b c x y
%定义符号运算量
fxy=(a*x^2+b*y^2)/c^2 %生成符号函数
生成符号函数fxy后,即可用于微积分等 符号计算。
一、符号计算基础
(四) 生成符号函数
【例4】定义一个符号函数 fxy=(a*x2+b*y2)/c2 ,分别求该
函数对x、y的导数和对x的积分。
syms a b c x y
%定义符号变量
fxy=(a*x^2+b*y^2)/c^2; %生成符号函数
diff(fxy,x) ans =2*a*x/c^2
ቤተ መጻሕፍቲ ባይዱ
%符号函数fxy对x求导数
diff(fxy, y)
一、符号计算基础
(三) 符号表达式
符号表达式由符号变量、函数、算术运算符等组成。 符号表达式的书写格式与数值表达式相同。例如,数学表 达式
其符号表1达式为5:x 1+sqr(5*x))/2 注意,在定义2表达式前应先将表达式中的字符x定义为
符号变量。
一、符号计算基础
(四) 生成符号函数 将表达式中的自变量定义为符号变量后, 赋值给符号函数名,即可生成符号函数。 例如有一数学表达式:
一、符号计算基础
(二)默认符号变量
为了了解函数引用过程中使用的符号变量个数及变量 名,可以用findsym函数查询默认的变量。该函数的引用 格式为:
findsym(f,n) 说明:f为用户定义的符号函数, n为正整数,表示查询变量的个数。
n=i,表示查询i个系统默认变量。n值省略时表示查询 符号函数中全部系统默认变量。
ax2 by 2 f (x, y)
c2
一、符号计算基础
(四) 生成符号函数
其用符号表达式生成符号函数fxy的过程 为:
syms a b c x y
%定义符号运算量
fxy=(a*x^2+b*y^2)/c^2 %生成符号函数
生成符号函数fxy后,即可用于微积分等 符号计算。
一、符号计算基础
(四) 生成符号函数
【例4】定义一个符号函数 fxy=(a*x2+b*y2)/c2 ,分别求该
函数对x、y的导数和对x的积分。
syms a b c x y
%定义符号变量
fxy=(a*x^2+b*y^2)/c^2; %生成符号函数
diff(fxy,x) ans =2*a*x/c^2
ቤተ መጻሕፍቲ ባይዱ
%符号函数fxy对x求导数
diff(fxy, y)
一、符号计算基础
(三) 符号表达式
符号表达式由符号变量、函数、算术运算符等组成。 符号表达式的书写格式与数值表达式相同。例如,数学表 达式
其符号表1达式为5:x 1+sqr(5*x))/2 注意,在定义2表达式前应先将表达式中的字符x定义为
符号变量。
一、符号计算基础
(四) 生成符号函数 将表达式中的自变量定义为符号变量后, 赋值给符号函数名,即可生成符号函数。 例如有一数学表达式:
5第七节课 MATLAB符号计算
/2
【例5.1.5】验证积分
/2
Ae it dt A
sin
2
2
syms A t tao w; yf=int(A*exp(-i*w*t),t,-tao/2,tao/2); Yf=simple(yf) Yf = 2*A*sin(1/2*tao*w)/w
2013-8-1 Matlab与科学计算 8
ans = x,y ans = x,y,z
【例5.1.7】findsym确定自由变量是对整个矩阵进行的。 syms a b t u v x y; A=[a+b*x,sin(t)+u;x*exp(-t),log(y)+v] findsym(A,1) % 在矩阵A中确定x为自变量 A =[ a+b*x, sin(t)+u] [ x*exp(-t), log(y)+v] ans 2013-8-1 = x
2013-8-1 Matlab与科学计算
4
定义符号对象的指令
• 一个符号表达式中,所有的参数都是符号变量或符号 常量,因此必须和在计算机语言中的那些表达式有所 区别。我们可以用命令sym和syms来定义符号变量和 符号表达式。sym 和 syms 常用的格式如下: • f = sym(expr) 把表达式expr 转换为符号对象。 • syms(‘arg1’, ‘arg2’, ‘arg3’) 将他们定义为符号变量。 • syms arg1 arg2 arg3 为上面命令的简写形式。
2013-8-1 Matlab与科学计算 5
【例5.1.1】用符号计算验证三角等式。
sin( a1 ) cos(a2 ) cos(a1 ) sin( a2 ) sin( a1 a2 )
【例5.1.5】验证积分
/2
Ae it dt A
sin
2
2
syms A t tao w; yf=int(A*exp(-i*w*t),t,-tao/2,tao/2); Yf=simple(yf) Yf = 2*A*sin(1/2*tao*w)/w
2013-8-1 Matlab与科学计算 8
ans = x,y ans = x,y,z
【例5.1.7】findsym确定自由变量是对整个矩阵进行的。 syms a b t u v x y; A=[a+b*x,sin(t)+u;x*exp(-t),log(y)+v] findsym(A,1) % 在矩阵A中确定x为自变量 A =[ a+b*x, sin(t)+u] [ x*exp(-t), log(y)+v] ans 2013-8-1 = x
2013-8-1 Matlab与科学计算
4
定义符号对象的指令
• 一个符号表达式中,所有的参数都是符号变量或符号 常量,因此必须和在计算机语言中的那些表达式有所 区别。我们可以用命令sym和syms来定义符号变量和 符号表达式。sym 和 syms 常用的格式如下: • f = sym(expr) 把表达式expr 转换为符号对象。 • syms(‘arg1’, ‘arg2’, ‘arg3’) 将他们定义为符号变量。 • syms arg1 arg2 arg3 为上面命令的简写形式。
2013-8-1 Matlab与科学计算 5
【例5.1.1】用符号计算验证三角等式。
sin( a1 ) cos(a2 ) cos(a1 ) sin( a2 ) sin( a1 a2 )
第七章 Matlab符号计算
Matlab程序设计及应用
第七章 第10页
1、符号计算基础 建立符号表达式--用sym函数建立符号表达式
U=sym('3*x^2-5*y+2*x*y+6') M=sym('[a,b;c,d]')
结果显示: U= 3*x^2-5*y+2*x*y+6 M= [ a, b] [ c, d]
Matlab程序设计及应用
Matlab程序设计及应用
第七章 第20页
1、符号计算基础 符号表达式中变量的确定
MATLAB中的符号可以表示符号变量和符号常量。 findsym可以帮助用户查找一个符号表达式中的 的符号变量。该函数的调用格式为:
findsym(s,n) 函数返回符号表达式s中的n个符号变量,若没有 指定n,则返回s中的全部符号变量。 Matlab按离字母x最近的原则确定默认变量。
Matlab程序设计及应用
第七章 第17页
1、符号计算基础
syms a b x y;
A=a^3-b^3; factor(A) expand(s) collect(s,x) %对A分解因式 %对s展开 %对s按x合并同类项 s=(-7*x^2-8*y^2)*(-x^2+3*y^2);
g='x^2-x+7'
symadd(f,g);symsub(f,g);
symmul(f,g);symdiv(f,g);
sympow(f,'3*x')
Matlab程序设计及应用
第七章 第13页
符号表达式的四则运算
与数值运算一样,也可以利用+、-、*、/、
^运算符实现符号运算。
第七章 第10页
1、符号计算基础 建立符号表达式--用sym函数建立符号表达式
U=sym('3*x^2-5*y+2*x*y+6') M=sym('[a,b;c,d]')
结果显示: U= 3*x^2-5*y+2*x*y+6 M= [ a, b] [ c, d]
Matlab程序设计及应用
Matlab程序设计及应用
第七章 第20页
1、符号计算基础 符号表达式中变量的确定
MATLAB中的符号可以表示符号变量和符号常量。 findsym可以帮助用户查找一个符号表达式中的 的符号变量。该函数的调用格式为:
findsym(s,n) 函数返回符号表达式s中的n个符号变量,若没有 指定n,则返回s中的全部符号变量。 Matlab按离字母x最近的原则确定默认变量。
Matlab程序设计及应用
第七章 第17页
1、符号计算基础
syms a b x y;
A=a^3-b^3; factor(A) expand(s) collect(s,x) %对A分解因式 %对s展开 %对s按x合并同类项 s=(-7*x^2-8*y^2)*(-x^2+3*y^2);
g='x^2-x+7'
symadd(f,g);symsub(f,g);
symmul(f,g);symdiv(f,g);
sympow(f,'3*x')
Matlab程序设计及应用
第七章 第13页
符号表达式的四则运算
与数值运算一样,也可以利用+、-、*、/、
^运算符实现符号运算。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、符号计算基础
(一) 定义符号变量
z=x+i*y; %定义复数表达式 conj(z); %求共轭复数 expand(z*conj(z)) %求表达式与其共轭复数乘积的多项式 ans = x^2+y^2
若要去掉’x’的属性,可以使用下面语句
x = sym(‘x’,’unreal’)
将’x’创建为纯格式的符号变量。
一、符号计算基础
(二)默认符号变量
【例3 】查询符号函数 f=xn g=sin(at+b)
中的系统默认变量。 syms a b n t x %定义符号变量 f=x^n; %给定符号函数 g=sin(a*t+b); findsym(f,1) %在f函数中查询1个系统默认变量 ans= x 表示f函数中查询的1个系统默认变量为x。
第七讲 MATLAB的符号计算
所谓符号计算是指在运算时,无须事先对 变量赋值,而将所得到结果以标准的符号形 式来表示。
MathWorks公司以Maple的内核作为符号 计算引擎(Engine),依赖Maple已有的函 数库,开发了实现符号计算的两个工具箱: 基本符号工具箱和扩展符号工具箱。
一、符号计算基础
f=ax2+bx+c 表达式中的a,b,c通常被认为是常数,用 作变量的系数;而将x看作自变量。
一、符号计算基础
(二)默认符号变量
例如,数学表达式
f=xn g=sin(at+b) 根据数学式中表示自变量的习惯,默认a,b,c为符号常 数,x为符号变量。 若在MATLAB中表示上述表达式,首先用syms 函数定 义a,b,n,t,x为符号对象。在进行导数运算时,由于 没有指定符号变量,则系统采用数学习惯来确定表达式 中的自变量,默认a,b,c为符号常数,x,t为符号变量。 即 : 对函数f求导为:df/dx
【例4】定义一个符号函数 fxy=(a*x2+b*y2)/c2 ,分别求该
函数对x、y的导数和对x的积分。
syms a b c x y
%定义符号变量
fxy=(a*x^2+b*y^2)/c^2; %生成符号函数
diff(fxy,x) ans =2*a*x/c^2
%符号函数fxy对x求导数
diff(fxy, y)
对函数g求导为:dg/dt
一、符号计算基础
(二)默认符号变量
为了了解函数引用过程中使用的符号变量个数及变量 名,可以用findsym函数查询默认的变量。该函数的引用 格式为:
findsym(f,n) 说明:f为用户定义的符号函数, n为正整数,表示查询变量的个数。
n=i,表示查询i个系统默认变量。n值省略时表示查询 符号函数中全部系统默认变量。
一、符号计算基础
(一) 定义符号变量
1、sym函数
sym函数的主要功能是创建符号变量,以便进行符号 运算,也可以用于创建符号表达式或符号矩阵。用sym函 数创建符号变量的一般格式为:
x = sym(‘x’)
其目的是将’x’创建为符号变量,以x作为输出变量名。 每次调用该函数,可以定义一个符号变量。与一般定义变 量不同, sym定义变量不必赋值就可直接计算。
一、符号计算基础
(一) 定义符号变量 参与符号运算的对象可以是符号变量、 符号表达式或符号矩阵。符号变量要先定 义,后引用。可以用sym函数、syms函数 将运算量定义为符号型数据。引用符号运 算函数时,用户可以指定函数执行过程中 的变量参数;若用户没有指定变量参数, 则使用findsym函数默认的变量作为函数的 变量参数。
一、符号计算基础
(一) 定义符号变量
2、syms函数 syms函数的功能与sym函数类似。syms 函数可以在一个语句中同时定义多个符号 变量,其一般格式为:
syms arg1 arg2 …argN 用于将rg1, arg2,…,argN等符号创建为符 号型数据。
一、符号计算基础
(二)默认符号变量 在数学表达式中,一般习惯于使用排在 字母表中前面的字母作为变量的系数,而 用排在后面的字母表示变量。例如:
一、符号计算基础
(三) 符号表达式
符号表达式由符号变量、函数、算术运算符等组成。 符号表达式的书写格式与数值表达式相同。例如,数学表 达式
1 5x 其符号表达式2为: 1+sqr(5*x))/2
注意,在定义表达式前应先将表达式中的字符x定义为 符号变量。
一、符号计算基础
(四) 生成符号函数 将表达式中的自变量定义为符号变量后, 赋值给符号函数名,即可生成符号函数。 例如有一数学表达式:
f(x,y)ax 2by 2 c2
一、符号计算基础
(四) 生成符号函数
其用符号表达式生成符号函数fxy的过程 为:
syms a b c x y
%定义符号运算量
fxy=(a*x^2+b*y^2)/c^2 %生成符号函数
生成符号函数fxy后,即可用于微积分等 符号计算。
一、符号计算基础
(四) 生成符号函数
一、符号计算基础
(一) 定义符号变量
【例1】作符号计算:
a xb y1 a xb y5
a,b,x,y均为符号运算量。在ቤተ መጻሕፍቲ ባይዱ号运算前, 应先将a,b,x,y定义为符号运算量
一、符号计算基础
(一) 定义符号变量
a=sym(‘a’); %定义‘a’为符号运算量,输出变量名为a y =2/bb=sym(‘b’); x=sym(‘x’); y=sym(‘y”); [x,y]=solve(a*x-b*y-1,a*x+b*y-5,x,y)
%符号函数fxy对y求导数
ans =2*b*y/c^2
%符号函数fxy对x求积分
int(fxy, x)
ans =1/c^2*(1/3*a*x^3+b*y^2*x)
一、符号计算基础
(五) 符号矩阵
符号矩阵也是一种表达式,函数作用于符号矩阵时, 分别作用于矩阵的每一个元素。
例 A=syms(‘[a,2*b;3*a,0]’) 数值矩阵转为符号矩阵:sym(数值矩阵) 符号矩阵转化为数值矩阵:numeric(A)
%以a,b为符号常数,x,y为符号变量 即可得到方程组的解: x =3/a y =2/b
一、符号计算基础
(一) 定义符号变量
【例2】已知一复数表达式 z=x+i*y, 试 求其共轭复数,并求该表达式与其共轭复数 乘积的多项式。
为了使乘积表达式x^2+y^2非负,这 里,把变量x和y定义为实数。
x=sym(‘x’,’real’); y=sym(‘y’,’real’);