实验四 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