第6章MATLAB符号计算-资料
- 格式:ppt
- 大小:285.54 KB
- 文档页数:50
MATLAB中的符号计算方法及应用导言在计算机科学领域,符号计算是一种重要的技术手段,它通过代数符号的表达和计算,使得计算机能够处理和求解数学问题,尤其是涉及到复杂的代数式和方程组的求解。
MATLAB是一款功能强大的数值计算软件,其内置了丰富的符号计算工具包,使得符号计算在MATLAB中得以广泛应用。
本文将介绍MATLAB中常用的符号计算方法及其应用,包括符号变量的定义与操作、符号表达式的简化与计算、符号方程的求解以及符号积分和微分运算等方面。
一. 符号变量的定义与操作在MATLAB中,通过声明符号变量可以创建代表数学符号的对象。
符号变量可以表示任意复杂的代数式,包括常数、变量、函数等。
定义符号变量的基本语法是使用"syms"关键字,后跟一个或多个以空格或逗号分隔的变量名。
例如,下面的代码定义了两个符号变量x和y:```MATLABsyms x y;```在定义符号变量后,我们可以对其进行各种操作,包括代数运算、求导、求积等。
例如,我们可以定义一个符号表达式expr,并通过操作符对其进行计算:```MATLABexpr = x^2 + 2*x + 1;result = simplify(expr + 1);```上述代码中,我们对表达式expr进行了简化操作,将其与常数1相加,并将结果存储在变量result中。
通过这种方式,我们可以对复杂的代数式进行简化和计算,从而得到更清晰和简洁的结果。
二. 符号表达式的简化与计算MATLAB中的符号计算工具包提供了丰富的函数,用于对符号表达式进行求值、简化、展开等操作。
这些函数可以大大简化数学计算的过程,提高计算效率。
1. 符号表达式的求值在MATLAB中,我们可以使用subs函数对符号表达式进行求值。
subs函数接受两个参数,第一个参数是要求值的表达式,第二个参数是用于替换变量的数值。
例如,我们可以使用subs函数将符号表达式expr中的x替换为3,求得结果:```MATLABresult = subs(expr, x, 3);```上述代码中,我们将表达式expr中的x替换为3,并将结果存储在变量result 中。
matlab符号运算符号计算1.符号计算的优点:所谓符号计算是指解算数学表达式、方程时,不是在离散化的数值点上进行的,而是凭借一系列的恒等式和数学定理,通过推理和演算获得的解析结果。
这种计算建立在数值完全准确表达和严格推演的基础之上,因而所得结果完全准确。
当然,也存在者不足,后文将会提到。
符号变量的优点是,使用符号变量运算得到的只是一个解析解,例如,在符号变量运算过程中pi就用pi表示,而不是具体的近似数值3.14或3.14159。
使用符号变量进行运算能最大限度减少运算过程中因舍入造成的误差。
符号变量也便于进行运算过程的演示。
2.符号对象的创建:2.1单个符号变量S = sym(A)将非符号对象(如,数字,表达式,变量等)A转换为符号对象,并存储在符号变量S中。
x = sym('x')创建符号变量x,其名字是'x'。
示例:alpha = sym('alpha')x = sym('x', 'real')这里假设x是实数,因此有x的共轭conj(x)等于x。
示例:r = sym('Rho','real')k = sym('k', 'positive') %09版不能用这个方法实现这里创建一个正的(实数)符号变量。
x = sym('x', 'clear')创建一个没有额外属性的纯形式上的符号变量x(例如,创建符号变量x,但是并没指定它是正的或它是一个实数)。
为了兼容旧的MATLAB版本,x = sym('x','unreal')的功能和x = sym('x', 'clear')一样。
S = sym(A, flag)把一个数值标量或矩阵转换为符号型的对象。
这里flag参数的值可以是:'r', 'd', 'e', or 'f',它指定了对浮点数进行转换时的规则:'f':表示“floating-p oint”。
第3章MATLAB符号计算符号计算则是可以对未赋值的符号对象(可以是常数、变量、表达式)进行运算和处理。
MATLAB具有符号数学工具箱(Symbolic Math Toolbox),将符号运算结合到MATLAB的数值运算环境。
符号数学工具箱是建立在Maple软件基础上的。
3.1 符号表达式的建立Symbolic Math Toolbox2.1版规定在进行符号计算时,首先要定义基本的符号对象然后才能进行符号运算。
3.1.1 创建符号常量符号常量是不含变量的符号表达式,用sym命令来创建符号常量。
语法:sym(‘常量’) %创建符号常量例如,创建符号常量,这种方式是绝对准确的符号数值表示:>> a=sym('sin(2)')a =sin(2)sym命令也可以把数值转换成某种格式的符号常量。
语法:sym(常量,参数) %把常量按某种格式转换为符号常量说明:参数可以选择为’d’、’f’、’e’或’r’四种格式,也可省略,其作用如表3.1所示。
表3.1 参数设置a=sym('sin(2)')a =sin(2)例如,把常量转换为符号常量,按系统默认格式转换:a=sym(sin(2))a =8190223105242182*2^(-53)【例3.1】创建数值常量和符号常量。
a1=2*sqrt(5)+pi %创建数值常量a1 =7.6137a2=sym('2*sqrt(5)+pi') %创建符号表达式a2 =2*sqrt(5)+pia3=sym(2*sqrt(5)+pi) %按最接近的有理数型表示符号常量a3 =8572296331135796*2^(-50)a4=sym(2*sqrt(5)+pi,'d') %按最接近的十进制浮点数表示符号常量a4 =7.6137286085893727261009189533070a31=a3-a1 %数值常量和符号常量的计算a31 =a5='2*sqrt(5)+pi' %字符串常量a5 =2*sqrt(5)+pi图3.1 工作空间窗口可以通过查看工作空间来查看各变量的数据类型和存储空间,工作空间如图3.1所示。