MATLAB第2章_符号计算

发布时间:2024-11-17

MATLAB

第2章 符号计算教学目标 教学重点 教学内容

MATLAB

教学目标 一是讲述MATLAB符号计算基本知识,包 括符号对象的创建、符号数字、符号表达 式的操作; 二是介绍符号微积分的计算; 三是介绍符号矩阵分析和代数方程(组) 的符号解法; 四是介绍符号计算结果的可视化。

MATLAB

教学重点 熟悉符号对象的创建、符号数字、符号 表达式的操作。 熟悉符号微积分的基本计算函数指令。 熟悉代数方程(组)的符号解法。 熟悉符号计算结果可视化的的基本指令。 了解符号计算帮助系统及其帮助指令。

MATLAB

教学内容2.1符号对象和符号表达式 2.2 符号数字及表达式的操作 2.3 符号微积分 2.4 微分方程的符号解法 2.5 符号变换和符号卷积 2.6 符号矩阵分析和代数方程解 2.7 代数状态方程求符号传递函数 2.8 符号计算结果的可视化 2.9 符号计算资源深入利用

MATLAB

Matlab的符号计算功能 matlab自产生起就在数值计算上功能卓著,深受各专 业计算人员的欢迎.但由于在数学,物理等各种科研和工 程应用中经常会遇到符号运算的问题. 为此, 公司于 1993年购买了 Maple 软件的使用权,并在此基础上,开

发了符号计算工具箱 (Symbolic Math Toolbox) matlab 从2008b 开始与符号计算语言MuPAD 相 结合,到2009b止仍然支持Maple引擎(需单独安装 Maple软件) 。在此版本之间输入指令symengine 弹出选择MuPAD和 Maple引擎的窗口。 从2010a开始不再支持Maple引擎。

MATLAB

符号运算与数值运算的区别:符号运算中,解算数学表达式、方程时,不是在离散

化的数值点上进行,而是凭借一系列恒等式和数学定理,通过推理和演绎,获得解析结果。这种计算建立 在数值完全准确表达和推演严格解析的基础上,所得 结果是完全准确的。

符号运算----代数运算,公式推导代值

数值运算---算术运算

MATLAB

2.1 符号对象和符号表达式在matlab中,数值和数值变量用于数值的存储和各种数值计算. 而符号常量,符号变量,符号函数,符号操作等则是用来形成符号 表达式,严格按照代数,微积分等课程中的规则,公式进行运算,并 尽可能给出解析表达式.

2.1.1 符号对象的创建和衍生● ●

数值计算---变量先赋值,再使用.

符号计算---先定义基本的符号对象(可以是常量,变 量,表达式),然后用这些基本符号对象去构成新的表达 式,再进行所需的符号运算.

MATLAB

2.1.1 符号对象的创建和衍生 1. 生成符号对象的基本规则① 任何基本符号对象(数字、参数、变量、表达式) 都必须借助专门的符号函数指令sym或syms定义。 ② 任何包含符号对象的表达式或方程,将继承符号 对象的属性。即任何包含符号对象的表达式、方程 也一定是符

号对象。

MATLAB

2 符号数字的定义格式:sc=sym('num')注意:

% sc为值为num的符号数字

i) 单引号必须在英文状态下输入,构成字符串ii) num为一个具体的数字 如:

sc=sym('2/3')sb=sym('pi+sqrt(5)')

sc=2/3 sb =pi + 5^(1/2)

MATLAB

2 符号数字的定义【例2.1-1】符号(类)数字与数值(类)数字之间的差异。

a=pi+sqrt(5) sa=sym('pi+sqrt(5)') Ca=class(a) Csa=class(sa) vpa(sa-a)a = 5.3777 sa = pi + 5^(1/2) Ca = double Csa = sym ans =0.00000000000000001382237584108520004859354256418

本例表现符号数字总是被准确记录和运算,而数值数字并不 总能保证被准确存储,运算时会引进截断误差。

MATLAB

3. 基本符号变量: sin(3)uz xz 3w a5 0 符号参数(表达式中的参数), “待解符号变量”或 “自由符号变量” (表达式中的自变量x,默认为 x ) 定义格式:2

i) syms para para=sym('para') syms a; a=sym('a') ii) syms para flag para=sym('para', 'flag') syms a positive; a=sym('a', 'positive')

iii) syms a b c syms a b c flag

无逗号

flag为参数属性: positive----参数取正实数

real-----参数为实数unreal-----参数为限定的复数

MATLAB

4. 自由符号变量 解题结果是“用符号参数构成的表达式表述自由符号 变量”。解题时自由符号变量可“人为指定”,也可 “默认地自动认定”:与小写字母 x 的ASII码距离最 小的变量。 symvar(expression) 列出表达式中所有基本符号变量 symvar(expression,n) 列出表达式中认定n个自由符号变量 expression是符号表达式或符号表达式矩阵,x是

首选自由符号变量,认定优先次序为x, y, w, z, v等

MATLAB

【例2.1-2】 用符号计算研究方程 sin(3)uz 2 vz 3w a5 0 的解。 syms u v w z a5 f=sym('3'); Eq=sin(f)*u*z^2+v*z+f*w-a5; symvar(Eq) %按字母表顺序列出基本符号变量, 无 f ans =[ a5, u, v, w, z] symvar(Eq,100) %按离x的距离列出所有自由符号变量 ans =[ w, z, v, u, a5] result_1=solve(Eq) result_1 =a5/3 - (v*z)/3 - (u*sin(3)*z^2)/3 result_2=solve(Eq,z)result_2 = -(v - (v^2 + 4*a5*u*sin(3) - 12*u*w*sin(3))^(1/2))/(2*u*sin(3)) -(v + (v^2 + 4*a5*u*sin(3) - 12*u*w*sin(3))^(1/2))/(2*u*sin(3))

MATLAB

【例2.1-3】元符号表达式、衍生符号表达式定义,基 本符号变量、自由符号变量的机器认定。 syms a b x X Y k=sym('3'); z=sym('c*sqrt(d)+y*sin(t)'); EXPR=a*z*X+(b*x^2+k)*Y; symvar(EXPR) ans =[ X, Y, a, b, c, d, t, x, y] 无kz symvar(EXPR,10) ans =[ x, y, t, d, c, b, a, X, Y ] E3=sym('a*sqrt(theta)')??? Error using ==> sym.sym> convertExpression at 2515

E4=sym('a*sqrt(theta1)') E5=sym( a*sqrt(theta*t) ) %在R2009b版本中还正确??? Error using ==> sym.sym> convertExpression at 2515

MATLAB

4. 自由符号变量

【例2.1-4】symvar确定自由变量是对整个矩阵进行的。syms a b t u v x y A=[a+b*x, sin(t)+u; x*exp(-t), log(y)+v] symvar(A,1) A= [ a

+ b*x, u + sin(t)] [ x/exp(t), v + log(y)] ans = x

MATLAB

2.1.2 符号计算中的算符 由于新版matlab采用了重载(Overload)技术, 使得 用来构成符号计算表达式的算符和基本函数,无论在形 式,名称,还是使用方法上,都与数值计算中的算符和基 本函数几乎完全相同,这给编程带来极大的方便.

(1) 基本运算符算符 ”+”, ”-”, ”*”, ”\”, “/”,“^” 分别构成矩阵的加,

减, 乘,左除,右除,求幂运算. 算符 ”.*”, “./”, “.\”,“.^” 分别实现元素对元素的数组乘,除,求幂运算.算符” ' ”, “ .' ” 分别实现矩阵的共轭转置,非共轭转置

MATLAB第2章_符号计算.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

    注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
    微信:fanwen365 QQ:370150219