MATLAB符号运算

Download Report

Transcript MATLAB符号运算

第5章 MATLAB符号运算
编者
Outline
5.1
 5.2
 5.3

符号对象的创建与使用
符号表达式操作
符号表达式的替换
5.1 符号对象的创建与使用
1.符号常量的创建
符号常量是不含变量的符号表达式,用户可以使用sym函数创建符号常量,调用格式如下:
S = sym(A, flag)
2.符号变量与符号表达式的创建
在MATLAB中,创建符号变量和符号表达式主要通过sym和syms两个函数,它们的调用格式为:
A = sym('a', [m n]) % 当m=n时可简写为A = sym('a', n)
argv=sym('argv',flagv)
syms arg1 arg2 ... Flagv
3.符号矩阵的创建
在MATLAB中,符号矩阵的元素可以是符号常量、符号变量和符号表达式,它也
可以通过逐个元素输入法创建,但必须事先声明符号变量,另外,我们也可以使用
sym函数来创建或将数值矩阵转化为符号矩阵。
4.符号对象与其他对象的转换
符号对象与数值对象、字符串和多项式等之间都能进行相互转换,如图所示。
图
符号对象与其他对象的转换
5.2
符号表达式操作
1.查找符号表达式的符号变量
为符号操作和计算的需要,MATLAB为用户提供了函数findsym和symvar,可以实现对表达式中
所有符号变量或指定数目的符号变量的自动认定,其调用格式为:
F=symvar(s)
F=symvar(s,n)
2.符号表达式的同类项合并
在MATLAB中,提供了collect函数来对符号表达式的同类项进行合并,其调用格式为:
R = collect(S)
R = collect(S,v)
3.符号表达式的展开
在MATLAB中,提供了函数expand来将符号表达式展开,其调用格式为:
R=expand(S)
4.符号表达式的因式分解
在MATLAB中,factor函数的功能是将符号表达式进行因式分解,其调用格式为:
factor(S)
5.符号表达式的嵌套
在MATLAB中,提供了horner函数将符号表达式转化为嵌套形式,其调用格式为:
horner(P)
6.提取符号表达式的分子与分母
在MATLAB中,如果符号表达式是一个有理分式(两个多项式之比),或是可以展开为有理分
式(包括那些分母为1的分式),则可以使用numden函数提取符号表达式的分子和分母多项式,其调
用格式为:
[N,D] = numden(A)
7.简化符号表达式
在MATLAB中,提供了函数simplify根据一定规则对符号表达式进行简化,它是一个强有力的具有
普遍意义的工具,可以用于指数、对数、三角函数等各种数学表达式,该函数的调用格式为:
R = simplify(S)
R = simplify(S, n)
8.最简化符号表达式
在MATLAB中,simple函数对符号表达式尝试多种不同的算法进行简化并返回其中最简短的形式,
该函数的调用格式为:
r = simple(S)
[r, how] = simple(S)
9.书写方式显示符号表达式
在MATLAB中,pretty函数的功能是按习惯的“书写”方式显示符号表达式,其调用格式为:
pretty(S)
5.3
符号表达式的替换
1.替换重复字符串
在MATLAB中,subexpr函数的功能是将符号表达式中重复出现的字符串用变量替换,其调用格式为:
[Y, SIGMA] = subexpr(X, SIGMA)
[Y, SIGMA] = subexpr(X, 'SIGMA')
2.替换特定符号变量
在MATLAB中,subs函数的功能是使用指定符号替换符号表达式中的某一个特定符号,该函数的调用格
式为:
R = subs(S) % 格式1
R = subs(S, new) % 格式2
R = subs(S, old, new) % 格式3
谢谢大家!