计算机仿真课程实验指导2012秋季
时间:2025-04-07
时间:2025-04-07
计算机仿真课程实验指导 供生物医学工程专业本科生使用
计算机仿真 课程实验指导
河北工业大学电气工程学院
生物医学工程专业 2011年秋季学期
实验项目一:实验项目二:实验项目三:动态电路的仿真实验项目四:模拟电路的仿真实验项目五:组合逻辑电路仿真实验项目六:信源编码和量化计算机仿真课程实验指导 供生物医学工程专业本科生使用
目 录
MATLAB数值计算 ..................................................... 3 MATLAB数据的可视化 ........................................... 12 ........................................................ 21 ........................................................ 26 .................................................... 32 ........................................................ 38
班级: 生医C103 学号: 106201 姓名: 朱海军
实验项目一:MATLAB数值计算
实验的目的和任务:学习使用MATLAB常用命令进行数组和矩阵等数值计算 实验内容:
1.要求在闭区间[0,2 ]上产生具有10个等距采样点的一维数组。试用两种不同的指令实
现。(参考提示:用冒号或linspace命令) linspace(0,2*pi,10) ans =
0 0.6981 1.3963 2.0944 2.7925 3.4907 4.1888 4.8869 5.5851 6.2832 a=0:2*pi/9:2*pi a =
0 0.6981 1.3963 2.0944 2.7925 3.4907 4.1888 4.8869 5.5851 6.2832 2.已知矩阵A
12
,运行指令B1=A.^(0.5), B2=A^(0.5), 可以观察到不同运算方法所 34
得结果不同。
(1)请分别写出根据B1, B2恢复原矩阵A的程序。 A=[1 2;3 4] B1=A.^(0.5) B2=A^(0.5) A1=B1.^2 A2=B2^2 >> A=[1 2;3 4]
A =
1 2 3 4 B1 =
1.0000 1.4142 1.7321 2.0000 B2 =
0.5537 + 0.4644i 0.8070 - 0.2124i 1.2104 - 0.3186i 1.7641 + 0.1458i A1 =
1.0000 2.0000 3.0000 4.0000 A2 =
1.0000 + 0.0000i 2.0000 + 0.0000i 3.0000 - 0.0000i 4.0000 + 0.0000i
(2)用指令检验所得的两个恢复矩阵是否相等。 >> isequal(A1,A2) ans = 0
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 命令为:
b=diag(A); B=diag(b) C=A-B
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 >> b=diag(A) b =
0.95278214965662 0.84074319811307 0.02220977857260 >> B=diag(b) B =
0.95278214965662 0 0 0 0.84074319811307 0 0 0 0.02220977857260 >> C=A-B C =
0 0.59815852417219 0.83681960067634 0.70406216677500 0 0.51870305972492 0.95387747359223 0.44281884223513 0
1k 1 9k 1 2k 2 9k 2
,4.下面有一段程序,企图用来解决如下计算任务:有矩阵Ak
k2k 10k
当k依次取10, 9, 8, 7, 6, 5, 4, 3, 2, 1时,计算矩阵Ak“各列元素的和”,并把此求和结
14 28 果存放为矩阵Sa的第k行。例如k 3时,A阵为25 29,此时它各列元素 36 30
的和是一个(1 10)行数组 615 87 ,并把它保存为Sa的第3行。问题:该段程序的计算结果对吗?假如计算结果不正确,请指出错误发生的根源,并改正之。
原程序为: for k=10:-1: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) rand('state',0),A=rand(4,6) A =
Columns 1 through 4
0.95012928514718 0.89129896614890 0.82140716429525 0.92181297074480 0.23113851357429 0.76209683302739 0.44470336435319 0.73820724581067 0.60684258354179 0.45646766516834 0.61543234810009 0.17626614449462 0.48598246870930 0.01850364324822 0.79193703742704 0.40570621306210 Columns 5 through 6
0.93546969910761 0.05789130478427 0.91690443991341 0.35286813221700 0.41027020699095 0.81316649730376 0.89364953091353 0.00986130066092
A=reshape(1:10*k,k,10); Sa(k,:)=sum(A);
>> a=find(A>0.5) a = 1 3 5 6 9 11 12 13 14 17 18 20
23
[i,j]=find(A>0.5) i = 1 3 1 2 1 3 4 1 2 1 2 4
计算机仿真课程实验指导 供生物医学工程专业本科生使用
3 j = 1 1 2 2 3 3 3 4 4 5 5 5 6
6.求解一元七次方程1.25x7+5.66x6+0.71x4+0.68x3+6.21x+5015=0的根。(使用root指令) 命令为:
>> a=[1.25 5.66 0 0.71 0.68 0 6.21 5015]; >> roots(a) ans =
-4.85272979161717 -2.64205763581906 + 2.05906361771933i -2.64205763581906 - 2.05906361771933i 0.2781406856843 …… 此处隐藏:4629字,全部文档内容请下载后查看。喜欢就下载吧 ……
上一篇:病理学重点及名词解释
下一篇:山东省建筑工程消耗量补充定额