第三章符号计算分解.ppt

2001年9月--12月 《MATLAB仿真》 符号运算 如:sym(1/2)+(1/3) ans = 5/6 --精确解 任意精度算术运算 digits (n) — 设置有效数字个数为n的近似解精度,缺省16位 vpa (f, n) — 求得符号表达式f的n位精度的数值解。 如:digits(25) vpa(1/2+1/3) ans = .8333333333333333333333333 函数numeric ( )可将不含变量的符号对象转换为数值形式。 * * 符号运算是MATLAB的重要组成部分。应用符号计算功能,可以直接对抽象的符号对象进行微积分或代数计算,并获得问题的解析结果。 第三章 MATLAB的符号运算 什么是符号运算呢?它和数值计算有什么区别? 符号运算的操作对象是非数值的符号对象。 与数值运算的区别:数值运算中必须先对变量赋值,然后才能参与运算。符号运算无须事先对独立变量赋值,运算结果以标准的符号形式表达。 符号对象(symbolic object)是一种数据类型(sym类型),用来存储代表非数值的字符符号。可以是符号常量、符号变量、符号函数及各种符号表达式及符号矩阵等。符号变量要先定义再引用。 3.1 符号运算基础 1、创建符号变量、符号常量 在MATLAB中,用函数命令sym和syms来创建符号对象。 符号对象 符号变量是符号可变的符号对象。符号变量通常是指一个或几个特定的字符,不是指符号表达式。但有时可以将符号表达式赋值给一个符号变量,它的命名规则和MATLAB数值变量的命名规则相同。 用sym( )函数输入的数值常数叫符号常量。 (1) sym函数:用来建立单个符号变量或符号常量。其调用格式为:x=sym (x), x为创建的符号变量,x为输出的变量名。 符号变量和数值变量是不同的。数值变量参与运算前必须先进行赋值,变量的运算实际上是该变量所对应的值进行运算,其运算结果是一个和变量类型对应的值。符号变量运算前不需要赋值,其结果是一个由参与运算的变量名组成的表达式。 如a=sym (a);b=sym (b);c=sym (c);d=sym (d); %定义4个符号变量 w=1; x=2; y=3; z=4; %定义4个数值变量 A=[a, b; c, d] %建立符号矩阵A A = [ a, b] [ c, d] B=[w, x; y, z] %建立数值矩阵B B= 1 2 3 4 det (A) %计算符号矩阵A的行列式 ans= a*d - b*c det (B) %计算数值矩阵B的行列式 ans= -2 应用sym( )函数还可以定义符号常量。其运算是数值常量是有差别的。符号常量进行计算得到的是精确的数学表达式;而数值计算得到的是一个近似值。 如a=sym (8);b=8; %定义1个符号常量和1个数值常量 sqrt (a); %求符号常量a的平方根 ans= 2*2^(1/2) sqrt (b); %求数值常量b的平方根 ans= 2.8284 应用sym( )函数一次只能定义一个符号变量。 (2) syms函数:可以在一个语句中同时定义多个符号变量,其一般格式为:syms arg1 arg2 …argN,用于将rg1, arg2,…,argN等符号创建为符号型数据。各变量名间用空格间隔,不能加其它分隔符。 符号表达式由符号常量、符号变量、符号函数、算术运算符等组成。创建符号表达式/方程的方法有两种:一种是直接用sym函数创建,二是用已经定义的符号变量创建符号表达式。 2、创建符号表达式/方程和符号矩阵 如f=sym (a*x^2+b*x+ c) f= a*x^2+b*x+ c syms x a b c f= a*x^2+b*x+ c f= a*x^2+b*x+ c 符号表达式一定要用 (双单引号)括起来MATLAB才能识别。 创建符号矩阵的方法也有两种:一种是直接用sym函数创建,命令格式:A=sym( [ ] ) ;二是用已经定义的符号变量创建。 例如:A = sym([a , 2*b ; 3*a , 0]) A = [

文档评论(0)

1亿VIP精品文档

相关文档