实验报告 计算机仿真 2011秋季

  • 格式:doc
  • 大小:531.50 KB
  • 文档页数:17

计算机仿真课程实验指导 供生物医学工程专业本科生使用

1

计算机仿真

课程实验指导

河北工业大学电气与自动化学院

生物医学工程专业

2011年秋季 计算机仿真课程实验指导 供生物医学工程专业本科生使用

2

目 录

实验项目一:MATLAB数值计算 ..................................................... 3

实验项目二:MATLAB数据的可视化 ............................................. 8

实验项目三:动态电路的仿真 ........................................................ 12

实验项目四:模拟电路的仿真 ........................................................ 13

实验项目五:组合逻辑电路仿真 .................................................... 15

实验项目六:信源编码和量化 ........................................................ 17

计算机仿真课程实验指导 供生物医学工程专业本科生使用

3

实验项目一:MATLAB数值计算

实验的目的和任务:学习使用MATLAB常用命令进行数组和矩阵等数值计算

实验内容:

1.要求在闭区间]2,0[上产生具有10个等距采样点的一维数组。试用两种不同的指令实现。(参考提示:用冒号或linspace命令)

A =

0 0.6981 1.3963 2.0944 2.7925 3.4907 4.1888 4.8869 5.5851

6.2832

A =

0 0.6981 1.3963 2.0944 2.7925 3.4907 4.1888 4.8869 5.5851

6.2832

2.已知矩阵4321A,运行指令B1=A.^(0.5), B2=A^(0.5), 可以观察到不同运算方法所得结果不同。

(1)请分别写出根据B1, B2恢复原矩阵A的程序。

A =

1 2

3 4

>> B1=A.^(0.5)

B1 =

1.0000 1.4142

1.7321 2.0000

>> B2=A^(0.5)

B2 =

0.5537 + 0.4644i 0.8070 - 0.2124i

1.2104 - 0.3186i 1.7641 + 0.1458i

>> A1=B1.^(2) 计算机仿真课程实验指导 供生物医学工程专业本科生使用

4 A1 =

1.0000 2.0000

3.0000 4.0000

>> A2=B2^(2)

A2 =

1.0000 + 0.0000i 2.0000 - 0.0000i

3.0000 + 0.0000i 4.0000

(2)用指令检验所得的两个恢复矩阵是否相等。

3.先运行clear,format long,rand('state',1),A=rand(3,3),然后根据A写出两个矩阵:一个对角阵B,其相应元素由A的对角元素构成;另一个矩阵C,其对角元素全为0,而其余元素与对应的A阵元素相同。

clear,format long,rand('state',1),A=rand(3,3)

A =

0.95278214965662 0.59815852417219 0.83681960067634

0.70406216677500 0.84074319811307 0.51870305972492

0.95387747359223 0.44281884223513 0.02220977857260

命令为:

4.下面有一段程序,企图用来解决如下计算任务:有矩阵kkkkkkkk10229221911A,当k依次取10, 9, 8, 7, 6, 5, 4, 3, 2, 1时,计算矩阵kA“各列元素的和”,并把此求和结果存放为矩阵Sa的第k行。例如3k时,A阵为306329522841,此时它各列元素

的和是一个)101(行数组87156,并把它保存为Sa的第3行。问题:该段程序的计算结果对吗?假如计算结果不正确,请指出错误发生的根源,并改正之。 计算机仿真课程实验指导 供生物医学工程专业本科生使用

5

原程序为:

for k=10:-1:1

A=reshape(1:10*k,k,10);

Sa(k,:)=sum(A);

end

Sa;

修改源程序:

(提示,使用help sum,参考关于sum函数的英文说明,注意sum是何时是按照列来求和的)

for k=10:-1:1

A=reshape(1:10*k,k,10);

Sa(k,:)=sum(A,1);

end

Sa;

5.由指令rand('state',0),A=rand(4,6)生成二维数组A,试求该数组中所有大于0.5的元素的位置,分别求出它们的“全下标”和“单下标”。

(请参考find指令的用法,利用help find,注:命令('state',0) 为resets the

generator to its initial state. 重新恢复初始状态,刚运行matlab时候的状态,更详细的rand 用法请参考help rand)

6.求解一元七次方程1.25x7+5.66x6+0.71x4+0.68x3+6.21x+5015=0的根。(使用root指令)

命令为:

7.运行如下指令:(请参考教材上符号计算那一章例2.1-3)

syms a b x X Y

k=sym(‘3’);

z=sym(‘c*sqrt(delta)+y*sin(theta)’) 计算机仿真课程实验指导 供生物医学工程专业本科生使用

6 EXPR=a*z*X+(b*x^2+k)*Y

在表达式EXPR中,确定1个、2个和3个自由符号变量的命令分别为:

找出EXPR中的全部的自由符号变量的命令为:

8.请编写MATLAB指令,化简3281261xxxf。

(请参考教材上符号计算那一章例2.2-2)

9.请编写MATLAB指令求kxxx)11(lim。(请参考教材上符号计算那一章例2.3-1)

10. 请编写MATLAB指令求dxxxx11。(请参考例2.3-9)

11. 产生5阶随机方阵A,其元素为[10,90]区间的随机整数,然后判断A的元素是否能被3整除.(根据参考答案,写出自己的程序)

参考答案:

(1)生成5阶随机方阵A

A=fix((90-10+1)*rand(5)+10)

(2) 判断A的元素是否可以被3整除。

P=rem(A,3)==0

其中,fix为朝零方向舍入函数,rem(A,3)是矩阵A的每个元素除以3的余数矩阵。此时,0被扩展为与A同维数的零矩阵,P是进行等于(==)比较的结果矩阵。

12. 已知矩阵 1 2 0

X= 2 5 -1 计算机仿真课程实验指导

供生物医学工程专业本科生使用

7 4 10 -1

计算其特征值V和特征向量D,并验证XV=VD。(提示用eig函数)

(根据参考答案,写出自己的程序)

(参考[V,D]=eig(A):求A的全部特征值,构成对角阵D,并求A的特征向量构成V的列向量)

13. 用求特征值的方法解方程,3x5-7x4+5x2+2x-18=0。

(根据参考答案,写出自己的程序)

参考答案:

命令如下:

p=[3 -7 0 5 2 -18];

A=compan(p) %p的伴随矩阵

x1=eig(A) %求A的特征值

x2=roots(p) %直接求多项式p的零点

即 方程p(x)=0的解

14、求方程组的解

(1) x1+2x2=8

2x1+3x2=13

(2) 计算机仿真课程实验指导 供生物医学工程专业本科生使用

8

x1+2x2=1

2x1+3x2=2

3x1+4x2=3

(3) x1+2x2+3x3=1

2x1+3x2+4x3=2

实验项目二:MATLAB数据的可视化

实验的目的和任务:利用MATLAB常用命令进行符号计算和绘图,练习二维图形和三维图形的绘制、符号计算

实验内容:

1.三维曲线绘图。本例演示:三维曲线的参数方程;线型、点形和图例。 计算机仿真课程实验指导 供生物医学工程专业本科生使用

9 t=(0:0.02:2)*pi;

x=sin(t);y=cos(t);z=cos(2*t);

plot3(x,y,z,'b-',x,y,z,'bd')

view([-82,58]),box on

xlabel('x'),ylabel('y'),zlabel('z')

legend('链','宝石')

2. 用曲面图表现函数22yxz。

3. 三种浓淡处理方式比较。

clf

x=-4:4;y=x;

[X,Y]=meshgrid(x,y);

Z=X.^2+Y.^2;

surf(X,Y,Z)

colormap(jet)

subplot(1,3,1),surf(Z),axis off

subplot(1,3,2),surf(Z),axis off,shading flat

subplot(1,3,3),surf(Z),axis off,shading interp

set(gcf,'Color','w')

4. 灯光、照明、材质指令所表现的图形。

clf;

[X,Y,Z]=sphere(40);

colormap(jet) %<3>

subplot(1,2,1),surf(X,Y,Z),axis equal off,shading interp %<4>

light ('position',[0 -10 1.5],'style','infinite') %<5>

lighting phong %<6>