实验MATLAB符号运算 下载本文

实验四 MATLAB符号运算

一、实验目的

掌握符号变量和符号表达式的创建,掌握MATLAB的symbol工具箱的一些基本应用。 二、实验内容

(1) 符号变量、表达式、方程及函数的表示。 (2) 符号微积分运算。

(3) 符号表达式的操作和转换。 (4) 符号微分方程求解。 三、实验步骤

1. 符号运算的引入

在数值运算中如果求limsin?x,则可以不断地让x接近于0,以求得表达式接近什么

x?0x数,但是终究不能令x?0,因为在数值运算中0是不能作除数的。MATLAB的符号运算能解决这类问题。输入如下命令:

>>f=sym('sin(pi*x)/x') >>limit(f,'x',0)

>> f=sym('sin(pi*x)/x') f =

sin(pi*x)/x

>> limit(f,'x',0) ans = Pi

2. 符号常量、符号变量、符号表达式的创建

1) 使用sym( )创建

输入以下命令,观察Workspace 中A、B、f是什么类型的数据,占用多少字节的内存空间。

>> A=sym('1') >> B=sym('x')

>> f=sym('2*x^2+3*y-1') >> clear

>> f1=sym('1+2') >> f2=sym(1+2) >> f3=sym('2*x+3') >> f4=sym(2*x+3) >> x=1

>> f4=sym(2*x+3) > A=sym('1') A = 1

1 / 18

>> B=sym('x') B = x

>> f=sym('2*x^2+3*y-1') f =

2*x^2+3*y-1

>> clear

>> f1=sym('1+2') f1 = 1+2

>> f2=sym(1+2) f2 = 3

>> f3=sym('2*x+3') f3 =

2*x+3

>> f4=sym(2*x+3)

??? Undefined function or variable 'x'. >> x=1 x =

>> f4=sym(2*x+3)

f4 =

2 / 18

5

通过看MATLAB的帮助可知,sym( )的参数可以使字符串或数值类型,无论是哪种类型都会生成符号类型数据。

2) 使用syms 创建 >>syms x y z >>x,y,z

>> f1=x^2+2*x+1 >>f2=exp(y)+exp(z)^2

>> f3=f1+f2 >> clear

>> syms x y z >> x,y,z x = x y = y z = z

>> f1=x^2+2*x+1 f1 =

x^2+2*x+1

>> f2=exp(y)+exp(z)^2 f2 =

exp(y)+exp(z)^2

>> f3=f1+f2 f3 =

3 / 18