2016秋2014级MATLAB程序设计实验指导书

更新时间:2024-01-06 12:12:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

2016秋2014级《MATLAB程序设计》实验指导书

2016秋2014级《MATLAB程序设计》实验指导书

实验一 MATLAB的基本功能

一、实验目的

1、了解MATLAB程序设计的开发环境,熟悉命令窗口、工作区窗口、历史命令等窗口的使用。

2、掌握MATLAB常用命令的使用。 3、掌握MATLAB帮助系统的使用。

4、熟悉利用MATLAB进行简单数学计算以及绘图的操作方法。 二、实验内容

1、启动MATLAB软件,熟悉MATLAB的基本工作桌面,了解各个窗口的功能与使用。

图1 MATLAB工作桌面

2、MATLAB的常用命令与系统帮助: (1) 系统帮助

help:用来查询已知命令的用法。例如已知inv是用来计算逆矩阵,键入help inv即可得知有关inv命令的用法。

lookfor:用来寻找未知的命令。例如要寻找计算反矩阵的命令,可键入

共17 页,第 1页

2016秋2014级《MATLAB程序设计》实验指导书

lookfor inverse,MATLAB即会列出所有和关键字inverse相关的指令。找到所需的命令後 ,即可用help进一步找出其用法。

(2) 数据显示格式:

常用命令: 说明

format short 显示小数点后4位(缺省值) format long 显示15位 format bank 显示小数点后2位 format + 显示+,-,0 format short e 5位科学记数法 format long e 15位科学记数法 format rat 最接近的有理数显示

(3) 命令行编辑:键盘上的各种箭头和控制键提供了命令的重调、编辑功能。

具体用法如下:

↑----重调前一行(可重复使用调用更早的) ↓----重调后一行 →----前移一字符 ←----后移一字符 home----前移到行首 end----移动到行末 esc----清除一行 del----清除当前字符 backspace----清除前一字符 (4) MATLAB工作区常用命令:

who--------显示当前工作区中所有用户变量名

whos--------显示当前工作区中所有用户变量名及大小、字节数和类型 disp(x) -----显示变量X的内容

clear -----清除工作区中用户定义的所有变量

save文件名-----保存工作区中用户定义的所有变量到指定文件中 load文件名-----载入指定文件中的数据

共17 页,第 2页

2016秋2014级《MATLAB程序设计》实验指导书

3、在命令窗口执行命令完成以下运算,观察workspace的变化,记录运算结果。

(1) 计算(365-52?2-70)?3 (2) >>area=pi*2.5^2 (3) 已知x=3,y=4,z?x2y3?x?y?2在MATLAB中求z:

(4) 利用who,whos命令查看工作空间内的所有变量,并比较两种命令区别。 (5) 使用clear命令删除工作空间内的所有变量。提示:MATLAB有一些永

久常数(Permanent Constants)如表所示,虽然在工作空间中看不到,但使用者可直接取用。

表1.1 MATLAB中常用的变量,常量

特殊的变量、常量 ans pi eps inf NaN i,j 取 值 用于结果的缺省变量名 圆周率π的近似值(3.1416) 数学中无穷小(epsilon)的近似值(2.2204e - 016) 无穷大,如 1/0 = inf (infinity) 非数,如 0/0 = NaN (Not a Number),inf / inf = NaN 虚数单位:i = j =?1 (6) 将下面的矩阵赋值给变量m1,在workspace中察看m1在内存中占用的字

节数。

?162313??511108?? m1=??97612????414151?执行以下命令,观察结果: >>m1(2,3) >>m1(11) >>m1(:,3) >>m1(2:3,1:3)

>>m1(1,4) + m1(2,3) + m1(3,2) + m1(4,1)

(7) 执行命令>>help abs,查看函数abs的用法及用途,计算abs(3 +4i)。 (8) 执行命令:

共17 页,第 3页

2016秋2014级《MATLAB程序设计》实验指导书

>>x=0:0.1:6*pi; >>y=5*sin(x); >>plot(x,y)

(9) 在matlab的命令窗口里完成如下计算,其中t的值分别取-1,0,1,表达式

如下:

y?3?4t?e?sin(43t??/3)2

(10) 求方程组的根:

?x1?4x2?3x3?2??2x1?5x2?x3?11 ?x?6x?x?12?123(11) 一个多项式的系数向量是p=[1 -6 -72 -27],求这个多项式的根并写出多

项式。 4、思考题

(1) 以下变量名是否合法?为什么?

a) x2 b) 3col c) _row d) for

(2) 求以下变量的值,并在MATLAB中验证。

a) a=1:2:5; b) b=[a' a' a']; c) c=a+b(2,:)

共17 页,第 4页

2016秋2014级《MATLAB程序设计》实验指导书

实验二 MATLAB矩阵及运算

一、实验目的

1、掌握矩阵和数组的表示与赋值方法

2、了解字符串、结构和单元等数据类型在MATLAB中的使用 3、掌握MATLAB中基本的数值运算,了解基本统计函数的使用 4、掌握多项式基本运算以及线性方程组的求解方法 二、实验内容

1、利用“:”操作符和linspace函数生成数组a=[0,6,12,18,24,30,36,42],并将数组a分别转化为4*2和2*4的矩阵。

1??368?-572217??,并使用MATLAB回2、在MATLAB中输入矩阵A???6916-12????1513-210?答以下的问题:

(1) 创建一个由A中第2列到第4列所有元素组成的4Χ3数组B; (2) 创建一个由A中第3行到第4行所有元素组成的2Χ4数组C; (3) 创建一个由A中前两行和后三列所有元素组成的2Χ3数组D;

(4) 根据A利用单下标方法和双下标方法分别创建向量a=[-5 6 15]和向量

??56?b=[6 8 1],并利用向量a和b生成矩阵E??68?;

????151??(5) 利用“[]”删除矩阵A的第二行和第三列。 3、利用ones()函数和zero()函数生成如下矩阵:

?0?0?A??0??0??00000?1110??1310?

?1110?0000??共17 页,第 5页

2016秋2014级《MATLAB程序设计》实验指导书

?sinx,?y(x)??x,??x?6,?选择一些数据测试编写的函数。

x?00?x?3 x?33、编写一个函数M文件,返回向量x中元素的和、平均值、最大值、最小值、均方根值。其中方均根值(Root Mean Square)的计算公式为:

rms?并用下面数据测试你写的函数: (1) x=sin(0:0.01:6*pi)

1N?xi?1N2i (2) x=rand(1,200),得到的x为200个(0,1)之间均匀分布的随机数。 4、编写一个函数M文件,若给出一个向量x?[x1,x2,?xn],函数返回如下范德蒙矩阵。

1?1?xx2?12x2?x12????n?1n?1?x2?x1?????1?xn??2xn? ???n?1?xn?1??111?2345??,例如在命令窗口输入>>v=myvander([2 3 4 5]),得v???491625???82764125??同时生成一些数据测函数。

5、分别使用while和for编写命令文件,用循环语句编程计算s值:

s??(n3?n2)n?210

同时对编写的文件设置断点,观察变量取值的变化情况。

6、数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。重复此过程,最终得到的结果为1。如:

2?1

共17 页,第 11页

2016秋2014级《MATLAB程序设计》实验指导书

3?10?5?16?8?4?2?1 6?3?10?5?16?8?4?2?1

建立命令M文件,完成上述功能,要求显示数字处理过程。

7、设计一个学生身高的管理系统,输出身高的基本分为5等:很高、较高、中等、较矮、矮,其中190cm以上为“很高”,[180cm,190cm)区间为“较高”,[170cm,180cm)为“中等”,[1160cm,170cm)为“较矮”,160cm以下为“矮”,要求分别用if语句和switch语句实现

8、Fibonacci数组的元素满足Fibonacci规则:

ak+2=ak+ak+1,(k=1,2,3,?);且a1= a2=1。

请设计一段程序,求出该数组中第一个大于10000的元素

要求显示的结果为: i=21 a(i)=10946 或者 a(21)=10946

9、编写一个函数文件and.m,用于求两个输入矩阵的乘积和点乘,然后在命令行窗口中调用该函数,要求:

(1) 当两矩阵是尺寸相同的方阵时,返回它们的乘积和点乘。

(2) 当两矩阵不是尺寸相同的方阵时,则根据它们的尺寸,分别进行乘积或点乘

(3) 当两矩阵的尺寸不能满足乘积或点乘的要求时,则提示“这两个矩阵不能乘”

10、编写一个阶乘函数factorial.m,然后在如下程序中调用该函数, “分别使用for和while语句找出最小的n值,使得n!>10100,并求出n!” 11、下列程序用来判断一个人的体温是否处于危险状态。调试程序是否正确,如果程序错误指出错误在哪里?并写出正确答案。

temp=input(‘请输入体温: temp = ’); if temp < 36.5 disp(‘体温偏低’); elseif temp > 36.5

共17 页,第 12页

2016秋2014级《MATLAB程序设计》实验指导书

disp(‘体温正常’);

elseif temp > 38.0

disp(‘体温偏高!’);

elseif temp > 39

disp(‘体温高!!’);

end

12、使用嵌套for循环命令创建下列矩阵:

?5?1?A??0??0??01000?5100??1510?

?0151?0015??共17 页,第 13页

2016秋2014级《MATLAB程序设计》实验指导书

实验四 MATLAB绘图功能

一、实验目的

1、掌握MATLAB二维图形绘制命令及其图形控制; 2、熟悉MATLAB三维图形绘制命令及其图形控制; 3、熟悉特殊二维图形、三维图形的绘制方法。 二、实验内容

1、在同一坐标系下绘制下面三个函数在t?[0,40]的图象,要求三种曲线采用不同颜色以及不同的线型,同时对每条曲线利用函数进行标注,并添加图例。

y1?ty2?ty3?4?e?0.1tsin(t)2、编写程序,选择合适的步距,绘制下面函数在区间[-6,6]中的图象,并对分段的曲线进行标注,同时添加x轴和y轴的说明。

?sinx,?y(x)??x,??x?6,?在t?[-2?,2?]范围内的图象。

x?00?x?3 x?33、利用subplot函数在同一绘图窗口中用不同颜色和线型绘制以下两个函数

y1?20.5ty2?2e?0.2t

4、某学校有30位教师,其中教授5人,副教授8人,讲师12人,助教5人.试画出职称比例结构饼图,并强调图形的教授部分同时添加标注。

5、生成1×10维的随机数向量a,分别用红、黄、蓝、绿色绘出其连线图、脉冲图、阶梯图和条形图,并分别标出标题“连线图”、“脉冲图”、“阶梯图”、“条形图”。

6、使用subplot函数,把图形窗口分成两个部分,分别绘制sin2t和3cos3t曲线,t范围:0-5.要求前者用红色实线,数据点形状为五角星,有网格线,x轴加标注“x”,y轴加标注“y=sin2t”,加题目“y=sin2t的曲线”;后者用蓝色虚线,数据点形状为圆形,无网格线,x轴加标注“x”,y轴加标注“y=3cos3t”,加题目“y=3cos3t的曲线”;

共17 页,第 14页

2016秋2014级《MATLAB程序设计》实验指导书

7、绘制下列三维曲线:

?x?e?t/20cost?(1)?y?e?t/20sint,0?t?2? (2) ?z?t??x?t?2?y?t,0?t?1 ?z?t3?8、绘制下列曲面图,并调整三维图的视角、背景色、着色以及透视效果。 (1) z=5,|x|≤5,|y|≤5 (2) f(x,y)??51?x?y22,x?3,y?3

9、用mesh和surf函数,绘制下面方程所表示的三维空间曲面,x和y的取值范围设为[-3,3],并调整三维图的视角、背景色、着色以及透视效果。

x2y2 z???101010、编写一个drawCircle(r)函数,调用该函数时,根据给定的半径r,以原点为圆心画一个如图所示的红色空心圆,同时比较不同的坐标轴函数axis的设置效果。(图例半径r=5)

11、绘一个圆柱螺旋线(形似弹簧)图。圆柱截面直径为10,高度为5,每圈上升高度为1。如左图所示。利用先前的绘图结果,对程序做少许修改,得到如右图所示图形。

共17 页,第 15页

2016秋2014级《MATLAB程序设计》实验指导书

实验五 MATLAB符号运算

一、实验目的

1、掌握MATLAB符号对象的定义以及符号表达式的多种定义方法; 2、熟悉利用MATLAB符号运算求解微积分。 3、熟悉利用MATLAB符号运算求解方程。 二、实验内容

1、用两种不同的方法建立如下符号表达式: (1) -2x5+6x4-3x3+18x=16;

(2) y=4x2-3x+15;

a6a??sintt?3b? (3) A???cost????cost?sintc4c??2、求下列各式的的极限: (1) lim(x2?x?x2?x)

x?+?

(2) limtanx?sinx

x?0x32x2?x?1(3) lim 2x?1?(x?1)

ex?1(4) lim

x?0?1?cosx-sinx3、求下面函数的导数(1) y?ecos3x

?x2dy: dx (2) f(x)?sinx 2x?4x?3?a(3) y??ax??e1?x?

logxsinx??x2

?x??(1?sin?)(4) ?

?y??cos?求4、设x2?y2?z2?4z?0,?z?z和。 ?x?x5、求下列积分: (1) ?xe?xdx (3) ?(5) ?22

2

(2) (4)

?sinxsin2xsin3xdx

??218?2ydy

???cosxcos2xdx

2?200???04xze?x2y?z2dzdydx

6、试求解无穷级数的和。

共17 页,第 16页

2016秋2014级《MATLAB程序设计》实验指导书

S?1111??????????? 1?44?77?10(3n?2)?(3n?1)7、计算有限项级数求和:S=1+4+9+16+…+10000。

8、解下列方程(方程组分别用矩阵方法和符号运算方法求解): (1) x?3x3?4x?7?1

(2) x?xex?10?0

?2x1?x2?3x3?x4?3?3x?x?5x?2x?0?1234(3) ?

4x?x?3x?33?12??2x1?3x2?13x3?3x4??69、求微分方程y''?2y'?5y?excos2x的通解。

共17 页,第 17页

本文来源:https://www.bwwdw.com/article/d4gx.html

Top