秋级MATLAB程序设计实验指导书.docx

上传人:b****5 文档编号:6630079 上传时间:2023-01-08 格式:DOCX 页数:16 大小:257.95KB
下载 相关 举报
秋级MATLAB程序设计实验指导书.docx_第1页
第1页 / 共16页
秋级MATLAB程序设计实验指导书.docx_第2页
第2页 / 共16页
秋级MATLAB程序设计实验指导书.docx_第3页
第3页 / 共16页
秋级MATLAB程序设计实验指导书.docx_第4页
第4页 / 共16页
秋级MATLAB程序设计实验指导书.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

秋级MATLAB程序设计实验指导书.docx

《秋级MATLAB程序设计实验指导书.docx》由会员分享,可在线阅读,更多相关《秋级MATLAB程序设计实验指导书.docx(16页珍藏版)》请在冰豆网上搜索。

秋级MATLAB程序设计实验指导书.docx

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

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

实验一MATLAB的基本功能

一、实验目的

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

2、掌握MATLAB常用命令的使用。

3、掌握MATLAB帮助系统的使用。

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

二、实验内容

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

图1MATLAB工作桌面

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

(1)系统帮助

help:

用来查询已知命令的用法。

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

lookfor:

用来寻找未知的命令。

例如要寻找计算反矩阵的命令,可键入lookforinverse,MATLAB即会列出所有和关键字inverse相关的指令。

找到所需的命令後,即可用help进一步找出其用法。

(2)数据显示格式:

常用命令:

说明

formatshort显示小数点后4位(缺省值)

formatlong显示15位

formatbank显示小数点后2位

format+显示+,-,0

formatshorte5位科学记数法

formatlonge15位科学记数法

formatrat最接近的有理数显示

(3)命令行编辑:

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

具体用法如下:

↑----重调前一行(可重复使用调用更早的)

↓----重调后一行

→----前移一字符

←----后移一字符

home----前移到行首

end----移动到行末

esc----清除一行

del----清除当前字符

backspace----清除前一字符

(4)MATLAB工作区常用命令:

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

whos--------显示当前工作区中所有用户变量名及大小、字节数和类型

disp(x)-----显示变量X的内容

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

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

load文件名-----载入指定文件中的数据

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

(1)计算(365-522-70)3

(2)>>area=pi*2.5^2

(3)已知x=3,y=4,

在MATLAB中求z:

(4)利用who,whos命令查看工作空间内的所有变量,并比较两种命令区别。

(5)使用clear命令删除工作空间内的所有变量。

提示:

MATLAB有一些永久常数(PermanentConstants)如表所示,虽然在工作空间中看不到,但使用者可直接取用。

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

特殊的变量、常量

取值

ans

用于结果的缺省变量名

pi

圆周率π的近似值(3.1416)

eps

数学中无穷小(epsilon)的近似值(2.2204e-016)

inf

无穷大,如1/0=inf(infinity)

NaN

非数,如0/0=NaN(NotaNumber),inf/inf=NaN

i,j

虚数单位:

i=j=

(6)将下面的矩阵赋值给变量m1,在workspace中察看m1在内存中占用的字节数。

m1=

执行以下命令,观察结果:

>>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)执行命令>>helpabs,查看函数abs的用法及用途,计算abs(3+4i)。

(8)执行命令:

>>x=0:

0.1:

6*pi;

>>y=5*sin(x);

>>plot(x,y)

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

(10)求方程组的根:

(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,:

实验二MATLAB矩阵及运算

一、实验目的

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

2、了解字符串、结构和单元等数据类型在MATLAB中的使用

3、掌握MATLAB中基本的数值运算,了解基本统计函数的使用

4、掌握多项式基本运算以及线性方程组的求解方法

二、实验内容

1、利用“:

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

2、在MATLAB中输入矩阵

,并使用MATLAB回答以下的问题:

(1)创建一个由A中第2列到第4列所有元素组成的4Χ3数组B;

(2)创建一个由A中第3行到第4行所有元素组成的2Χ4数组C;

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

(4)根据A利用单下标方法和双虾标方法分别创建向量a=[-5615]和向量b=[681],并利用向量a和b生成矩阵

(5)利用“[]”删除矩阵A的第二行和第三列。

3、利用ones()函数和zero()函数生成如下矩阵:

4、生成矩阵

(1)取出所有大于0的元素构成一个向量a(可推广到从一个矩阵里筛选出符合条件的元素组成一个向量)。

(2)将原矩阵中大于0的元素正常显示,而小于等于0的元素全部用0来表示(可推广到将原矩阵中不符合条件的全用0来表示,符合条件的值不变)。

5、已知

下列运算是否合法,为什么?

如合法,写出计算结果?

(1)result1=a'

(2)result2=a*b

(3)result3=a+b

(4)result4=b*d

(5)result5=[b;c']*d

(6)result6=a.*b

(7)result7=a./b

(8)result8=a.*c

(9)result9=a.\b

(10)result10=a.^2

(11)result11=a^2

(12)result11=2.^a

6、已知

(1)求a+b,a*b,a.*b,a/b,a./b,a^2,a.^2的结果,并观察运算结果。

(2)求c中所有元素的平均值、最大值、中值,并将c中元素按从小到大顺序排列。

(3)解释b(2:

3,[1,3])的含义,并将生成的数组赋值给d。

关系运算与逻辑运算

7、已知a=20,b=-2,c=0,d=1,计算下列表达式:

(1)r1=a>b

(2)r2=a>b&c>d

(3)r3=a==b*(-10)

(4)r4=~b|c

8、已知

(1)求矩阵A的秩(rank);

(2)求矩阵A的行列式(determinant);

(3)求矩阵A的逆(inverse);

(4)求矩阵A的特征值及特征向量(eigenvalueandeigenvector)。

9、已知多项式f1(x)=2x4-x2+3x+2,f2(x)=3x+2,利用MATLAB进行如下计算:

(1)计算两多项式的乘法和除法;

(2)求多项式f1(x)的根;

(3)分别计算多项式当x=3以及

时的值。

10、用两种方法求下列方程组的解,并比较两种方法执行的时间。

11、建立一个元胞数组,要求第一个元素为4Χ4的魔术矩阵,第二个元素为18.66,第三个元素为'matlab',第四个元素为等差数列7,9,11,13…99。

计算第一个元胞第4行第2列加上第二个元胞+第三个元胞里的第二个元素+最后一个元胞的第10个元素。

12、建立一个结构体的数组,包括3个人,字段有姓名,年龄,分数,其中分数由随机函数产生一个3行10列的数据表示了有10门课程,每门课程有三个阶段的分数。

问题是:

(1)如何找到第2个人的分数并显示出来;

(2)如何找到第2个人的每门课程3个阶段的平均分数并显示出来;

(3)所有同学的10门课程的每门课程的平均分如何计算出来?

要求放到一个数组里;

(4)找到这个班所有同学的姓名放到一个元胞数组里;

13、完成以下操作:

(1)已有str=‘decision20madeon10/20/10’,查找字符串中20出现的位置。

(2)有字符串s1=‘matlabexpress’,s2=‘matlabexcellent’,比较两个字符串的前8个字符是否相同,相同输出1,否则输出0。

(3)统计字符串s1=‘matlabexpress’中ex出现的次数,并替换为EX。

实验三MATLAB程序设计

一、实验目的

1、掌握建立和执行M文件的方法。

2、掌握选择结构、多分支选择结构程序的编程方法。

3、掌握多种循环结构程序的编程方法。

4、掌握定义函数文件和调用函数文件的方法。

二、实验内容

1、MATLABM文件的创建与使用。

(1)建立自己工作目录,如D:

\MATLAB。

在File菜单中,单击SetPath菜单项,在弹出对话框中建立目标文件夹,:

单击AddFolder按钮,将自己的工作目录D:

\MATLAB添加到搜索目录之中,按Save按钮保存,如图1。

图1工作目录设置

(2)在M文件编辑器中编制命令行文件。

在File菜单中,单击New—>M-File,弹出M文件编辑器,如图2:

图2编辑器

在编辑器中输入如下命令程序:

%求小于2000且为2的整数次幂的正整数。

f

(1)=2;

k=1;

whilef(k)<1000

f(k+1)=f(k)*2;

k=k+1;

end

f,k

调试后,将其以test1.m形式保存在D:

\MATLAB中。

(3)命令行程序运行。

进入命令窗口,键入test1,观察运行结果:

(4)按上述步骤,在在编辑器中输入如下函数文件:

functionf=tt(n)

%求小于任何正整数且为2的整数次幂的正整数。

%c=n(n)

%n可取任意正整数。

%

%2004年8月。

f

(1)=2;

k=1;

whilef(k)

f(k+1)=f(k)*2;

k=k+1;

end

f

调试后,将其以test2.m形式保存在D:

\MATLAB中。

(5)进入命令窗口,键入test2(9),观察程序运行结果。

2、编写一个函数M文件,计算下面函数的值,给出标量x的值,调用该函数后,返回y的值。

选择一些数据测试编写的函数。

3、编写一个函数M文件,返回向量x中元素的和、平均值、最大值、最小值、均方根值。

其中方均根值(RootMeanSquare)的计算公式为:

并用下面数据测试你写的函数:

(1)x=sin(0:

0.01:

6*pi)

(2)x=rand(1,200),得到的x为200个(0,1)之间均匀分布的随机数。

4、编写一个函数M文件,若给出一个向量

,函数返回如下范德蒙矩阵。

例如在命令窗口输入>>v=myvander([2345]),得

,同时生成一些数据测函数。

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

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

6、数论中一个有趣的题目:

任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。

重复此过程,最终得到的结果为1。

如:

21

3105168421

63105168421

建立命令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=’);

iftemp<36.5

disp(‘体温偏低’);

elseiftemp>36.5

disp(‘体温正常’);

elseiftemp>38.0

disp(‘体温偏高!

’);

elseiftemp>39

disp(‘体温高!

’);

end

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

实验四MATLAB绘图功能

一、实验目的

1、掌握MATLAB二维图形绘制命令及其图形控制;

2、熟悉MATLAB三维图形绘制命令及其图形控制;

3、熟悉特殊二维图形、三维图形的绘制方法。

二、实验内容

1、在同一坐标系下绘制下面三个函数在

的图象,要求三种曲线采用不同颜色以及不同的线型,同时对每条曲线利用函数进行标注,并添加图例。

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

3、利用subplot函数在同一绘图窗口中用不同颜色和线型绘制以下两个函数在t[-2,2]范围内的图象。

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的曲线”;

7、绘制下列三维曲线:

(1)

(2)

8、绘制下列曲面图,并调整三维图的视角、背景色、着色以及透视效果。

(1)z=5,|x|≤5,|y|≤5

(2)

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

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

(图例半径r=5)

11、绘一个圆柱螺旋线(形似弹簧)图。

圆柱截面直径为10,高度为5,每圈上升高度为1。

如左图所示。

利用先前的绘图结果,对程序做少许修改,得到如右图所示图形。

实验五MATLAB符号运算

一、实验目的

1、掌握MATLAB符号对象的定义以及符号表达式的多种定义方法;

2、熟悉利用MATLAB符号运算求解微积分。

3、熟悉利用MATLAB符号运算求解方程。

二、实验内容

1、用两种不同的方法建立如下符号表达式:

(1)-2x5+6x4-3x3+18x=16;

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

(3)

2、求下列各式的的极限:

(1)

(2)

(3)

(4)

3、求下面函数的导数

(1)

(2)

(3)

(4)

4、设

5、求下列积分:

(1)

(2)

(3)

(4)

(5)

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

7、计算有限项级数求和:

S=1+4+9+16+…+10000。

8、解下列方程(方程组分别用矩阵方法和符号运算方法求解):

(1)

(2)

(3)

9、求微分方程

的通解。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1