当前位置:文档之家› 第二章 符号对象的创建及符号计算

第二章 符号对象的创建及符号计算

第二章 符号对象的创建及符号计算
第二章 符号对象的创建及符号计算

《MATLAB仿真与应用》

实验报告二

第二章符号对象的创建及符号计算

一、实验目的

1.理解符号对象和数值对象之间的差别,以及他们之间的互相转换

2.了解符号运算和数值运算的特点、区别以及优缺点。

3.掌握符号对象的基本操作和运算,以及符号运算的基本应用。

二、实验内容

1、最接近的有理表示 sym()

2、绝对准确的符号数值表示sym(‘’)

3、把已有符号表达式化成最简形式simple(y)

4、求矩阵的行列式值 det(A)

逆 inv(A)

特征根 eig(A)

5、求矩阵的大小(行列) SizeMn=Size(Mn)

6、获得矩阵的类别 CMn=class(Mn)

7、判断每种矩阵的类别,若返回1,则判断正确 isa(Mn,‘double’)

8、观察内存变量的类别和其他属性 whos

9、列出独立自由变量 findsym()

10、无穷 inf

11、求导数 df=diff(f)

12、二阶导数 dfdt2=diff(f,t,2)

13、二阶混合导数dfdxdt=(diff(f,x),t)

14、不定积分 int(f)

15、定义0时刻起跳的单位阶跃函数 ut=sym(‘Heaviside(t)’)

16、傅里叶变换 UT=fourier(ut)

17、傅里叶逆变换 Ut=ifourier(UT,w,t)

18、求方程解 S=deslove()D一阶;D2二阶;D3三阶

三、思考练习题

1.观察一个数(在此用@记述)在以下四条不同指令作用下的异同:

a=@

b=sym(@)

c=sym(@,’d’)

d=sym(‘@’)

在此,@分别代表具体数值 7/3,pi/3,pi*3^(1/3);而异同通过vpa(abs(a-d)), Vpa(abs(b-d),vpa(abs(c-d))等来观察。

a=7/3;

b=sym(7/3);

c=sym(7/3,'d');

>> d=sym('7/3');

>> vpa(abs(a-d))

ans =

0.0

>> vpa(abs(b-d))

ans =

0.0

>> vpa(abs(c-d))

ans =

0.00000000000000014802973661668756666666667788716

2.说出以下三条指令产生的结果各属于那种数据类型,是“双精度”对象,还是“符号”对象?

3/7+0.1,sym(3/7+0.1),vpa(sym(3/7+0.1)

Mn=3/7+0.1;

>> Mc=sym(3/7+0.1);

Ms=vpa(sym(3/7+0.1));

>> whos Mn Mc Ms

Name Size Bytes Class Attributes

Mc 1x1 8 sym

Mn 1x1 8 double

Ms 1x1 8 sym

Mn为双精度 Mc Ms为符号

3.在不加专门指定的情况下,以下符号表达式中的哪一个变量被认为是独立自由变量。sym(‘sin(w*t)’),sym(‘a*exp(-X)’),sym(‘z*exp(j*theta)’)

>> findsym(sym('sin(w*t)'),1) >> findsym(sym('a*exp(-x)'),1)

>> findsym(sym('z*exp(j*theta)'),1) ans=

w

ans=

a

ans=

z

4. 计算二重积分

??+211222)(x dydx y x 。

syms x y

>> F2=int(int(x^2+y^2,y,1,x^2),x,1,2) F2 =

1006/105

5、在[0,2π]区间,画出y(x)=

?x 0sin dt t

t 曲线,并计算y(4,5)。 syms t x,f=sin(t)/t;

>> y=int(f,t,0,x);

>> y5=subs(y,x,sym('4.5'))

y5 =

1.6541404143792439835039224868515

>> ezplot(y,[0,2*pi])

四、实践中遇到的问题及解决方法

1.使用simple时有警告。

把simple改为simplify

2、错误使用sym/det

矩阵输入错误

3、意外的MATLAB运算符

矩阵输入错误

4、不清楚如何绘制图线

使用函数ezplot(y,[0,2*pi])

相关主题
文本预览
相关文档 最新文档