Matlab符号计算.ppt

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

例:求解齐次差分方程: c(n)=-3c(n-1)-2c(n-2), 初始条件为 c(1)=1,c(2)=0
3.4 符号运算应用于控制理论计算 控制理论中经常用到的积分变换有:傅立 叶变换、拉普拉斯变换和Z变换,符号运算 工具箱中为用户准备了这3种变换与反变换 的专用函数,
如 fourier( ), laplace( ), ztrans( )
Matlab的符号运算是由符号数学工具箱支持完 成的,该工具箱是在maple软件的基础上实现的。 当在系统内进行符号运算时,系统会请求Maple进 行计算,完成后再将结果返回到系统的显示窗口。
第三章 MATLAB符号计算
重点内容: ★ 创建符号常量和变量的常用方法; ★使用符号运算解决一般的微积分和方
第三章 MATLAB符号计算
符号计算与数值计算的区别: 1、符号计算定义在符号变量的基础上,符号表达式计 算前必须定义符号变量,否则出错; 2、与数值计算的计算速度相比较,符号计算的计算 速度较慢; 3、符号计算的运算符和基本数学函数与数值计算中的 运算符和基本数学函数几乎完全相同;
第三章 MATLAB符号计算
程求解问题; ★ 符号运算在控制理论中的应用;
3.1 符号变量的定义
◆用sym函数来定义单个符号变量,其定义格式为:
a=sym(‘a’); 功能:建立符号变量a,此后,用户可以在表达式 中使用变量a进行各种运算。 ◆用syms函数同时定义单个或多个符号变量,有两 种调用格式; 格式一:syms(‘变量1’,’变量2’,’变量3’,……)
例:syms('a1','a2','a3')
3.1 符号变量的定义 格式二:syms 变量1 变量2 …….
例:syms a1 a2 a3 注意:用格式二时,变量和变量之间只能用空格隔开, 不能用其他分隔符。
符号变量定义之后,就可以参与各种解析运算了。
• 例:创建符号复数变量a+bi;
• 方法一:
ifourier( ), ilaplace( ), iztrans( )
例:计算时间函数 f (t) et2 的傅立叶变换
例:计算时间函数 f (t) 0.1et sin(t ) 的拉氏变换。
3
例:计算时间函数 f (t) 0.1et sin(t ) 的拉氏变换。
分区间为[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)
例:已知 f (x) ax2 bx c 求f(x)的微分
注:在matlab符号运算中,如不特别指明,符号a,b,n等 被默认为参数或常量,而x,y,z,t等被默认为变量。
2.求符号表达式的积分运算函数int( ) 函数的语法有:
(1)int(f) 返回f对预设独立变量的积分值; (2)int(f,t) 返回f对独立变量t的积分值; (3)int(f,a,b) 返回f对预设独立变量的积分值,积
3
结果:
3.5 方程求解
1、代数方程 利用符号表达式解代数方程所需要的函数为solve(f),
作用为解符号方程式f; 例:求一元二次方程 f (x) ax2 bx c 的根
例2:
Leabharlann Baidu
2、常微分方程
matlab解常微分方程式的函数为:
dsolve(‘equ’,’condition’);
其中,equ代表常微分方程式,condition为初始条件, 如果初始条件没有给出,则给出通解形式。
double(f) 功能:把符号常量f转换为双精度浮点数数值; single(f) 功能:把符号常量f转换为单精度浮点数数值
3.2 符号表达式的基本操作
1.求符号表达式的微分运算函数diff( ) 函数的语法有下列四个:
(1)diff(f) 求f对预设独立变量的一次微分值; (2)diff(f,t) 求f对独立变量t的一次微分; (3)diff(f,n) 求f对预设独立变量的n次微分; (4)diff(f,t,n) 求f对独立变量t的n次微分;
方法二:
2. 建立符号表达式
建立符号表达式有以下2种方法: (1)用sym函数建立符号表达式。
>> sym('a+b*i') (2) 使用已经定义的符号变量组成符号表达式。
3. 符号对象转换为数值对象
一般情况下符号表达式计算的结果为符号常量,不直 观。符号常量可以应用double函数和single函数转换为数 值对象。double和single函数的格式分别为:
Maple函数的使用:
格式:maple(‘函数’,变量1,变量2,…….)
其中,函数是maple中的函数名称,变量1,变量2等是 函数所用的参数。
如:matlab中没有专门求差分方程的函数,就可以调用 Maple符号运算工具箱中的迭代运算函数rsolve来求解, 通过maple函数来访问rsolve函数。
(2)toylor(f,v,n)求f对自变量v的泰勒级数展开 至n阶;
例: 分别求下列两个级数的和
1 1 1 .... 1 .....
23
k
1 1 1 .... 1 .....
2 2*3 3*4
k
3.3 Maple函数的使用
前面介绍过,Matlab的符号数学实际上是由Maple软件 所支持的符号数学工具箱来完成的,系统会把符号运算 的请求交给Maple进行计算,完成后再将结果返回到系 统的显示窗口,所以要了解maple的使用。
%求定积分
f=1/(1+x^2); int(f,-inf,inf)
int(4*t*x,x,2,sin(t))
%求定积分 %求定积分
f=x^3/(x-1)^100;
I=int(f,2,3)
%用符号积分的方法求定积分
double(I)
%将上述符号结果转换为数值
3.级数运算 可用于级数的函数有:
(1)symsum(s,v,a,b) 自变量v在[a,b]之间取值时, 对通项s求和;
相关文档
最新文档