MATLAB实验 下载本文

实验一 MATLAB操作基础

一、 实验目的

1、熟悉MATLAB的操作环境及基本操作方法。 2、掌握MATLAB的搜索路径及其设置方法。 3、熟悉MATLAB帮助信息的查阅方法。

二、实验内容

1、先建立自己的工作目录,再将自己的工作目录设置到MATLAB搜索路径下,再试验用help命令能否查询到自己的工作目录。

2、在MATLAB环境下验证例1-1至1-4,并完成以下题目: (1)绘制右图所示图形

10.8(2)求38

3、利用MATLAB的帮助功能分别查询inv,plot、max、round等函数的功能及用法。

4、在工作空间建立一个变量a ,同时在当前目录下建立一个M文件:a.m,试在命令窗口输入a,观察结果,并解释原因。

0.60.40.20-0.2-0.4-0.6-0.8-100.10.20.30.40.50.60.70.80.91三、思考练习

1、help命令和lookfor命令有什么区别?

2、什么是工作空间?假定有变量A与B存在于工作空间中,如何用命令保存这两个变量?下次重新进入MATLAB后,又如何装载这两个变量?

实验二 MATLAB数值计算

一、 实验目的

1、掌握MATLAB变量和数据操作 2、掌握MATLAB矩阵及其操作 3、掌握MATLAB矩阵运算

二、实验内容

1、求下列表达示的值

(1)w?2?(1?0.34245?10?6)

2?a?b?c?e2??abc,其中a=3.5 ,b=5 ,c=-9.8 tan(b?c)?a(2)x?21?3i1(3)z?e2tln(t?1?t2),其中t?[]

25?0.65??15?4??83?1??,B??253? 0782、已知A?????????3617????320??求下列表达式的值:

(1)A+6B和A2?B?I(I为单位矩阵) (2)A*B、A.*B和B*A

(3)A/B及B\\A

(4)[A,B] 和[A([1,3],:) ; B^2]

3、建立一个均值为3,方差为1的10*10的正态分布随机矩阵,并将矩阵中大于0的元素置1,小于0的置0.

4、当A?[34,NaN,Inf,?Inf,?pi,eps,0]时,求函数all(A),any(A), isnan(A),isinf(A),isfinite(A)的值。

5、已知A=[1 2 3 4 5 ;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20],对其进行如下操作

(1)取出A的第2,4行和第1,3,5列

(2)对矩阵A变换成向量B,B=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20] (3)删除A的第2,3,4行元素

三、思考练习

1、在MATLAB命令中,6+7i和6+7*i有何区别?i和I有何区别?

2、设A和B是两个同样大小的矩阵,试分析A*B和A.*B、A./B和B.\\A,A/B和B\\A的区别?如果A和B是两个标量数据,结论又如何?

实验三 MATLAB矩阵分析

一、 实验目的

1、掌握MATLAB矩阵分析

2、掌握字符串、结构数据和单元数据 3、熟悉MATLAB稀疏矩阵及其操作

二、实验内容

?0.7780??2310?41?45?655?,完成下列操作: 1、已知A???325032???543.14??6?9.54(1)输出A在[10,25]范围内的全部元素

(2)取出A前3行构成矩阵B,前两列构成矩阵C,右下角3*2子矩阵构成矩阵D,B与C的乘积构成矩阵E

(3)分别求表达式E

2、产生5阶希尔伯特矩阵H和5阶帕斯卡矩阵P,求其行列式的值Hh和Hp以及它们的条件数Th和Tp,判断哪个矩阵性能更好,为什么? 3、已知:

??29618?? A??20512?????885??求A的特征值及特征向量,并分析其数学意义。

4、求下列矩阵的主对角元素,上三角矩阵,下三角矩阵,逆矩阵,行列式的值,秩,范数,条件数,迹。

?1?12?51?4

(1)A??

?305?

?11150

3?

0.43432?2?? (2)B?? ??2???8.9421??9?

5、建立一个字符串向量ch=’ABc123d4e56Fg9’,然后对该向量做以下处理: (1)统计其中阿拉伯数字的个数

(2)删除字符串中数字,并将字符串中大写字母改为小写字母。

三、思考练习

1、矩阵中采用稀疏矩阵有何好处?在运算规则上,稀疏存储矩阵和普通矩阵有何不同?

2、在MATLAB中建立一结构矩阵,并进行增加,删除结构成员等操作。

3、单元矩阵与结构矩阵有何不同?在MATLAB中如何建立与引用单元矩阵?

实验四 MATLAB程序设计

一、 实验目的

1、掌握利用if语句,switch语句实现选择结构的方法 2、掌握利用for语句,while语句实现循环结构的方法

3、熟悉利用向量运算来代替循环操作的方法并理解MATLAB程序设计的特点

二、实验内容

1、从键盘输入一个3位整数,将它向输出。如输入639,输出936

2、输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。其中90-100为A,80-90为B,70-79为C,60-69为D,60分以下为E。 要求:

(1) 分别用if语句和switch语句来实现

(2) 输入的百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错

信息。

3、输入20个数,求其中最大数和最小数。要求分别用循环结构和调用MATLAB的max函数和min函数来实现。

4、编写程序,产生20个两位随机整数,输出其中小于平均值的偶数。

x??1?x??1?x?1, 5、计算分段函数的值。y??x3?e?x?11?x?三、思考练习

1、编写程序,计算1?2?3...?n?2000时n的最大值

2、写出下面程序运行结果,并修改程序,让他们没有for循环语句。

A=[1 2 3; 4 5 6; 7 8 9]; [r c]=size(A); for i=1:1:r for j=1:1:c

if (A(i,j)>8 | A(i,j)<2) A(i,j)=0; end end end

实验五 函数文件的编写

一、 实验目的

1、掌握函数文件的定义方法,函数头的写法;

2、掌握调用函数文件的方法,了解函数文件的嵌套调用; 3、熟悉MATLAB函数文件的特点。

二、 实验内容

1、定义一个函数文件lifang.m,用于计算一个立方体的表面积和体积。在命令窗口中调用它。

2、当n分别取100、1000、10000时,求下列各式的值:

??2?1111(1)2?2?3??2?????

123n?6??2?2??4?4??6?6???2n???2n????????? (2)???????????1?33?55?72n?12n?1?????2?????????要求用函数文件的定义和调用来实现。

3、利用函数文件,实现极坐标(?,?)与直角坐标(x,y)之间的转换,并通过函数调用加以验证。

4、利用预定义变量nargin和nargout,实现以下功能的函数:若输入只有一个参