手机版

符号运算(补充)

时间:2025-07-09   来源:未知    
字号:

MATLAB符号运算基础 科学与工程技术中的数值运算固然重要,但自然科学 理论分析中各种各样的公式、关系式及其推导就是符 号运算要解决的问题。 在Matlab7.0中,符号计算虽以数值运算的补充身份出 现,但它们都是科学计算研究的重要内容。 Matlab开发了实现符号计算的工具包Symbolic Math Toolbox 。 符号数学工具箱中的工具是建立在功能强大的Maple的 基础上。 它最初是由加拿大的滑铁卢(Waterloo)大学开发出来 的。 如果要求Matlab7.0进行符号运算,那么首先由Maple 计算并将结果返回到Matlab7.0命令窗口。

0、符号运算的基本操作1. 什么是符号运算

与数值运算的区别 ※ 数值运算中必须先对变量赋值, 然后才能参与运算。 ※ 符号运算无须事先对独立变量 赋值,运算结果以标准的符号形式 表达。

特点:

运算对象可以是没赋值的符号变量 可以获得任意精度的解

Symbolic Math Toolbox——符号运 算工具包通过调用Maple软件实现符 号计算的。 maple软件——主要功能是符号运算, 它占据符号软件的主导地位。

2. 符号变量与符号表达式

f = 'sin(x)+5x' f —— 符号变量名 sin(x)+5x—— 符号表达式 ' ' —— 符号标识 符号表达式一定要用 ' ' 单引号括起 来matlab才能识别。

' ' 的内容可以是符号表达式,也 可以是符号方程。 例: f1='a x^2+b x+c' —— 二次三项式 f2= 'a x^2+b x+c=0' —— 方程 f3='Dy+y^2=1' ——微分方程※符号表达式或符号方程可以赋给符号变 量,以后调用方便;也可以不赋给符号变 量直接参与运算

3.符号矩阵的创建数值矩阵A=[1,2;3,4] A=[a,b;c,d] —— 不识别

用matlab函数sym创建矩阵(symbolic的缩写)命令格式:A=sym('[ ※ 需用sym指令定义※ 需用 ' ' 标识

]')

※ 符号矩阵内容同数值矩阵

例如:A = sym('[a , 2*b ; 3*a , 0]') A=

[

a, 2*b]0]

[3*a,

这就完成了一个符号矩阵的创建。 注意:符号矩阵的每一行的两端都有方括号,这是与 matlab数值矩阵的

一个重要区别。

用字符串直接创建矩阵 模仿matlab数值矩阵的创建方法 需保证同一列中各元素字符串有相同的长 度。

例:A =['[ a,2*b]'; '[3*a, 0]'] A= [ a, 2*b] [3*a, 0]

符号矩阵的修改a.直接修改 可用 、 键找到所要修改的矩阵,直 接修改。 b.指令修改 用A1=sym(A, , ,'new') 来修改。 用A1=subs(A, 'new', 'old')来修改 用A1=subs(S, 'old' ,'new')

例如:A =[ a, 2*b] [3*a, 0] A1=sym(A,2,2, '4*b') A1 =[ a, 2*b] [3*a, 4*b] A2=subs(A1, 'c', 'b') A2 =[ a, 2*c] [3*a, 4*c]

A(2,2)='4*b' A1 = [ a, 2*b] [3*a, 4*b]

符号矩阵与数值矩阵的转换 将数值矩阵转化为符号矩阵 函数调用格式:sym(A) A=[1/3,2.5;1

/0.7,2/5] A= 0.3333 2.5000 1.4286 0.4000 sym(A) ans = [ 1/3, 5/2] [10/7, 2/5]

将符号矩阵转化为数值矩阵 函数调用格式: numeric(A) A= [ 1/3, 5/2] [10/7, 2/5] numeric(A) ans = 0.3333 2.5000 1.4286 0.4000

一、符号运算的基本函数1、使用factor( )命令,可以进行因式分解 例1 对于以下数学表达式进行因式分解a ( b c ) b ( c a ) c ( a b ) 2 abc2 2 2

解:输入以下语句

运行结果为:

2、使用函数subs(S,old,new)实现符号变量代换n a 例2、已知 f ax by k ,试对其进行符号变量替换: sin t

b ln w

k ce

dt

符号常量替换: n 5

k

解:输入语句

执行结果为

3、符号表达式同类项合并函数collect( )其调用格式为collect(E,v), 其功能是将符号表达式E中的v的同 幂次项系数合并。 例3、已知 f x 2 y xy ax 2 bx ,试对x进行同类项合并。 解:输入语句

执行结果为

表示

f x y xy ax bx ( y a ) x ( y b ) x2 2 2

4、符号表达式展开的函数expand( )其调用格式为expand(E), 其功能是将符号表达式E展开。

例4,已知 f cos( 3 arccos x ) ,试将其展开。解:输入语句 执行结果为 f1 =

3*x*(x^2 - 1) + x^3 f2 =f2=collect(f1) 4*x^3 - 3*x 表示

f cos( 3 arccos x ) 4 x 3 x3

5、符号表达式化简的函数simplify( )和simple( )函数simplify(E)的功能是将符号表达式E运用多种恒等式变 换进行综合化简。

函数simple(E)的功能是对符号表达式E尝试多种不同的简化 算法(包括simplify()的算法),以得到符号表达式E的长度 最短的简化形式。

例5、试对 e1 sin x cos x2 2

与 e2 e

c ln( )

进行综合化简。

解:输入语句

执行结果为

表示

e1 sin x cos x 12 2

e2 e

c ln( )

( )

c

6、符号表达式通分的函数numden( ) 其调用格式为 [N, D]=numden(E),功能是将符号表达式E通分。 例6、已知f x ky y px

,试对其进行通分。

解:输入语句

执行结果为

表示

f

x ky

y px

px ky2

2

kpxy

7、对具有符号的矩阵作求逆等运算例7,求以下矩阵的逆 解:输入语句 a P c b d

执行结果为

表明

P

1

d ad bc c ad bc

ad bc a ad bc

b

二、符号函数的微分与积分运算1、符号极限运算 函数limit( )有5种: (1)limit(F, x, a)计算符号表达式F当变量x→a时的极限 (2)limit(F, a)计算符号表达式F当独立变量趋向a时的极限 (3)limit(F)计算符号表达式F在x=0处的极限 (4)limit(F, x, a,’right’)计算符号表达式F在x→a(从右边 趋向于a)条件下的 …… 此处隐藏:897字,全部文档内容请下载后查看。喜欢就下载吧 ……

符号运算(补充).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
    ×
    二维码
    × 游客快捷下载通道(下载后可以自由复制和排版)
    VIP包月下载
    特价:29 元/月 原价:99元
    低至 0.3 元/份 每月下载150
    全站内容免费自由复制
    VIP包月下载
    特价:29 元/月 原价:99元
    低至 0.3 元/份 每月下载150
    全站内容免费自由复制
    注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
    × 常见问题(客服时间:周一到周五 9:30-18:00)