matlab上机实习报告.docx

上传人:b****8 文档编号:9575057 上传时间:2023-02-05 格式:DOCX 页数:36 大小:723.28KB
下载 相关 举报
matlab上机实习报告.docx_第1页
第1页 / 共36页
matlab上机实习报告.docx_第2页
第2页 / 共36页
matlab上机实习报告.docx_第3页
第3页 / 共36页
matlab上机实习报告.docx_第4页
第4页 / 共36页
matlab上机实习报告.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

matlab上机实习报告.docx

《matlab上机实习报告.docx》由会员分享,可在线阅读,更多相关《matlab上机实习报告.docx(36页珍藏版)》请在冰豆网上搜索。

matlab上机实习报告.docx

matlab上机实习报告

Matlab

 

上机实习报告

 

专业:

测控技术与仪器

班级:

测控081

姓名:

王建巍

学号:

200800454125

指导教师:

廖亮

实习内容一MATLAB基本操作

一、实习目的

掌握MATLAB的启动和退出;

熟悉MATLAB的命令窗口;

熟悉其它常用窗口和工具栏。

二、实习内容与步骤

1、进入MATLAB的开发环境。

方法一:

点击桌面上的快捷方式或matlab\文件夹下的快捷方式图标。

方法二:

开始→所有程序→MATLAB6.5→MATLAB6.5.EXE。

方法三:

点击matlab\bin\win32文件夹下的matlab.exe。

这三种方法的当前目录不同。

优先选用方法一。

可见到如下交互界面:

图Matlab默认桌名平台

2、退出MATLAB的开发环境。

退出Matlab的方式很多:

(1)在Matlab命令窗口的“File”菜单下选择“ExitMatlab”;

(2)快捷键“Ctrl+q”;

(3)在命令窗口输入“quit”命令;

(4)在命令窗口输入“exit”命令;

(5)用鼠标单击命令窗口右上角的“X”按钮;

(6)用鼠标双击命令窗口左上角的图标“

”。

3、熟悉MATLAB的desktop操作桌面

(1)熟悉指令窗(commandwindow)----界面见图

a、点击指令窗右上角的

可以从将指令窗从操作桌面独立出来,点击指令窗中view菜单下的DockCommandwindow可以使指令窗嵌入回操作桌面。

b、在指令窗的提示符>>后面键入所以下指令:

(12+2*(7-4))/3^2

观察指令窗中的结果。

c、通过下拉菜单File:

Preferences改变设置指令窗中的字体、颜色等。

如:

数据显示格式的设置:

formatshort小数点后四位(缺省情况),如显示π为3.1416。

formatlong小数点后十四位,如显示π为3.14159265358979。

formatbank小数点后两位,如显示π为3.14。

formatshorte小数点后四位科学记数法,如显示π为3.1416e+000。

formatlonge小数点后十五位科学记数法,如显示π为3.141592653589793e+000。

(2)熟悉当前目录浏览器(CurrentDirectory)

(A)观察当前目录是什么?

(B)打开我的电脑,在E盘下建立一个名为mydir的文件夹。

在MATLAB操作桌面的右上方或当前浏览器左上方,都有一个当前目录设置区。

它包括:

“目录设置栏”和“浏览键”,在目录设置栏中直接写待设置的目录名,或借助浏览键和鼠标选择待设目录。

(3)熟悉工作空间浏览器(WorkspaceBrowser)

在以上步骤的基础上,观察工作空间浏览器有哪些变量?

在指令窗中who和whos两条指令,观察指令窗中的结果。

(4)熟悉数组编辑器(ArrayEditor)

点中Workspace中任意一个数组,然后双击所选数组或点击

图标打开数组编辑器。

观察此数值数组内部的值。

图:

工作空间浏览器

按照以下步骤建立一个新的数组:

(A)在指令窗里,向一个新变量赋“空”阵。

如:

A=[];

(B)在内存浏览器中,双击该变量,打开数组编辑器。

(C)在数组编辑器左上方的“行维”、“列维”栏中填写待建数组的“大小”,于是在编辑窗中就出现待填写的数组元素表格。

(D)逐格填写元素值,直到完成为止。

(5)熟悉脚本文件编辑器及运行一个简单的程序。

(A)点击MATLAB上的

图标,弹出M文件编辑器;

(B)M文件编辑调试器的空白框中写入下面指令。

t=0:

pi/50:

4*pi;

y0=exp(-t/3);

y=exp(-t/3).*sin(3*t);

plot(t,y,'-r',t,y0,':

b',t,-y0,':

b')

(C)点击M文件编辑器的

(保存图标),或选中【File:

Save】下拉菜单项,会出现标准的文件保存对话框。

(D)在文件保存对话框中,选定目录(如mydir),填写文件名(try1),再按保存键,于是把try1.m脚本文件保存到了mydir目录上了。

(E)选中M文件编辑器下拉菜单项【Debug:

Run】或按功能键F5,就可在图形窗中看到该程序的运行结果曲线。

(6)在指令窗中分别输入以下指令并观察其功能:

clc,clear,clf,cd,exit,quit

clear清除当前工作区中的所有变量

clc清除指令窗内容(未清除当前工作区中的变量)

clf清除图形窗口

cd设置当前工作目录

exit,quit退出MATLAB

(7)设置文件存放路径

(A)新建一个文件夹(自己的名字命名,在机器的最后一个盘符);

(B)将该文件夹添加到MATLAB路径管理器中,见图1-6。

(C)保存,关闭对话框

(8)了解MATLAB帮助系统

在指令窗中输入helpeye,阅读关于eye的帮助信息。

点击MATLAB的菜单项help:

MatlabHelp。

查看自己所需的帮助。

 

实习内容二数值数组及其运算

一、实习目的

1、掌握一维数组的创建和寻访;

2、掌握二维数组的创建和寻访;

3、掌握MATLAB的矩阵和数组的运算;

4、熟悉MATLAB关系操作和逻辑操作。

二、实习内容和步骤

(1)常量与变量

系统的变量命名规则:

变量名区分字母大小写;变量名必须以字母打头,其后可以是任意字母,数字,或下划线的组合。

此外,系统内部预先定义了几个有特殊意义和用途的变量,见下表:

特殊的变量、常量

取值

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=

(2)数值型向量(矩阵)的输入

a.任何矩阵(向量),可以直接按行方式输入每个元素:

同一行中的元素用逗号(,)或者用空格符来分隔;行与行之间用分号(;)分隔。

所有元素处于一方括号([])内;

例1:

>>Time=[111212345678910]

>>X_Data=[2.323.43;4.375.98]

b.系统中提供了多个命令用于输入特殊的矩阵:

函数

功能

函数

功能

compan

伴随阵

toeplitz

Toeplitz矩阵

diag

对角阵

vander

Vandermonde矩阵

hadamard

Hadamard矩阵

zeros

元素全为0的矩阵

hankel

Hankel矩阵

ones

元素全为1的矩阵

invhilb

Hilbert矩阵的逆阵

rand

元素服从均匀分布的随机矩阵

kron

Kronercker张量积

randn

元素服从正态分布的随机矩阵

magic

魔方矩阵

eye

对角线上元素为1的矩阵

pascal

Pascal矩阵

meshgrid

由两个向量生成的矩阵

上面函数的具体用法,可以用帮助命令help得到。

如:

meshgrid(x,y)

输入x=[1234];y=[105];[X,Y]=meshgrid(x,y),则

X=Y=

12341111

12340000

12345555

目的是将原始数据x,y转化为矩阵数据X,Y。

(3)符号向量(矩阵)的输入

a.用函数sym定义符号矩阵:

函数sym实际是在定义一个符号表达式,这时的符号矩阵中的元素可以是任何的符号或者是表达式,而且长度没有限制。

只需将方括号置于单引号中。

例2:

>>sym_matrix=sym('[abc;JackHelp_MeNO_WAY]')

sym_matrix=

[a,b,c]

[Jack,Help_Me,NO_WAY]

b.用函数syms定义符号矩阵

先定义矩阵中的每一个元素为一个符号变量,而后像普通矩阵一样输入符号矩阵。

例3:

>>symsabc;

>>M1=sym('Classical');

>>M2=sym('Jazz');

>>M3=sym('Blues');

>>A=[abc;M1,M2,M3;sym([235])]

[a,b,c]

A=

[Classical,Jazz,Blues]

[2,3,5]

(4)数组(矩阵)的点运算

运算符:

+(加)、-(减)、./(右除)、.\(左除)、.^(乘方),数组元素之间直接进行数值运算。

例4:

>>g=[1234];h=[4321];

>>s1=g+h,s2=g.*h,s3=g.^h,s4=g.^2,s5=2.^h

s1=5555

s2=4664

s3=1894

s4=14916

s5=16842

(5)矩阵的运算

运算符:

+(加)、-(减)、*(乘)、/(右除)、\(左除)、^(乘方)、’(转置)等;

常用函数:

det(行列式)、inv(逆矩阵)、rank(秩)、eig(特征值、特征向量)、rref(化矩阵为行最简形)

例5:

>>A=[20–1;132];B=[17–1;423;201];

>>M=A*B%矩阵A与B按矩阵运算相乘

>>det_B=det(B)%矩阵A的行列式

>>rank_A=rank(A)%矩阵A的秩

>>inv_B=inv(B)%矩阵B的逆矩阵

>>[V,D]=eig(B)%矩阵B的特征值矩阵V与特征向量构成的矩阵D

>>X=A/B%A/B=A*B-1,即XB=A,求X

M=014-3

171310

X=0.4000-1.40003.6000

0.00001.5000-2.5000

✧常见数学函数

函数名

数学计算功能

函数名

数学计算功能

abs(x)

实数的绝对值或复数的幅值

floor(x)

对x朝-∞方向取整

acos(x)

反余弦arcsin

gcd(m,n)

求正整数m和n的最大公约数

acosh(x)

反双曲余弦arccosh

imag(x)

求复数x的虚部

angle(x)

在四象限内求复数x的相角

lcm(m,n)

求正整数m和n的最小公倍数

asin(x)

反正弦arcsin

log(x)

自然对数(以

为底数)

asinh(x)

反双曲正弦arcsinh

log10(x)

常用对数(以10为底数)

atan(x)

反正切arctan

real(x)

求复数x的实部

atan2(x,y)

在四象限内求反正切

rem(m,n)

求正整数m和n的m/n之余数

atanh(x)

反双曲正切arctanh

round(x)

对x四舍五入到最接近的整数

ceil(x)

对x朝+∞方向取整

sign(x)

符号函数:

求出x的符号

conj(x)

求复数x的共轭复数

sin(x)

正弦sin

cos(x)

余弦cos

sinh(x)

反双曲正弦sinh

cosh(x)

双曲余弦cosh

sqrt(x)

求实数x的平方根:

exp(x)

指数函数

tan(x)

正切tan

fix(x)

对x朝原点方向取整

tanh(x)

双曲正切tanh

如:

输入x=[-4.85-2.3-0.21.34.566.75],则:

ceil(x)=-4-20257

fix(x)=-4-20146

floor(x)=-5-3-1146

round(x)=-5-20157

(6)在指令窗中输入

x=[23pi/29];x=[2,3,pi/2,9]观察结果是否一样?

答:

结果一样

(7)要求在闭区间

上产生50个等距采样的一维数组A,试用两种不同的指令实现。

要寻访1到5个元素如何实现;寻访7到最后一个元素如何实现;寻访第2,6,8个元素如何实现;寻访大于2的元素如何实现。

给第3,5,9个元素赋值100如何实现;

>>A=linspace(0,2*pi,50);

>>A(1:

5)

ans=00.12820.25650.38470.5129

>>A(7:

50)

ans=

Columns1through10

0.76940.89761.02581.15411.28231.41051.53871.66701.79521.9234

Columns11through20

2.05172.17992.30812.43632.56462.69282.82102.94933.07753.2057

Columns21through30

3.33393.46223.59043.71863.84683.97514.10334.23154.35984.4880

Columns31through40

4.61624.74444.87275.00095.12915.25745.38565.51385.64205.7703

Columns41through44

5.89856.02676.15506.2832

>>A([268])

ans=

0.12820.64110.8976

>>pos=find(A>2)

pos=

Columns1through17

1718192021222324252627282930313233

Columns18through34

3435363738394041424344454647484950

(8)在指令窗中输入A=[123;456]观察结果;分别用“全下标”和“单下标”来寻访第2行第1列的元素,并说明二维数组元素的存储顺序。

>>A=[123;456];

>>A(2,1)

ans=4

>>A

(2)

ans=4

(9)在指令窗中输入B=【1,2,3;6,7,8】,并计算A.*B;和A*B并说明矩阵相乘和数组相乘的区别。

>>A.*B

ans=149

243548

>>A*B

?

?

?

Errorusing==>mtimes

Innermatrixdimensionsmustagree.

(10)关系操作和逻辑操作

表2-4Matlab常用关系运算符

关系运算符

<

<=

>

>=

==

~=

说明

小于

小于等于

大于

大于等于

等于

不等于

表2-4Matlab常用逻辑运算符

逻辑运算符

&

|

~

Xor

说明

异或

在指令窗中输入下列程序,观察结果并逐行分析程序的功能。

rand('state',0);

A=rand(3,5);

[ii,jj]=find(A>0.5);

disp(‘iijj’)

disp([iijj])

disp('iijj')iijj

disp([iijj])

11

31

22

32

33

24

34

15

25

(11)在时间区间

中,绘出

曲线。

t=linspace(0,10,100);

y0=exp(-t/2);

y=1-exp(-t/2).*cos(2*t);

plot(t,y)

(12)写出生成如图2-1所示波形的MATLAB脚本M文件。

图中虚线为正弦波,要求它的负半波被置零,且在

处被削顶。

x=linspace(0,10,1000);

y=sin(x);

pos=find(y>sqrt(3)/2);

pos1=find(y<0);

y(pos)=sqrt(3)/2;

y(pos1)=0;

plot(x,y)

(13)字符串数组

A、创建串数组

例:

a=‘Thisisanexample.’

B、size(a):

输出该数组的大小

C、串数组的元素标识

例:

a14=a(1:

4)即a14=This

D、字符串的存储是用ASCII码实现的

Abs和double指令:

将串数组转换为ASCII码数值数组

例Name=‘thomasr.lee’;name1=double(name)

char指令:

将ASCII码数值数组转换为串数组

例name2=char(name1)

E、A=‘这是一个算例.’:

中文字符串数组

F、b=‘example’’3.1.2-1’’’:

连续两个单引号可创建带单引号的字符串

G、可由小串构成大串.

H、利用串操作函数charstr2matstrvcatint2strnum2strmat2str等创建数组。

例:

•Name=[‘ThomasR.Lee‘;’SeniorDeveloper’];须输入同一长度的字符串;

•Name=char(‘ThomasR.Lee’,’SeniorDeveloper’,’Kaiyi.wang’,’threemam’,’abcd’)可输入不同长度的字符串;

•Fname=deblank(name(5,:

))删除尾部空格;

•可通过Size(fname)来检验;

•Strcmp(str1,str2)可判断两个字符串是否相等;

•Strncmp(str1,str2,3)用于判断两个字符的前3个字符是否相等;

•Strcmp(a,b)用于判断元胞数组a和b的对应字符串是否相等;

•Strncmp(a,b,3)用于判断元胞数组a和b的对应字符串的前3个字符是否相等;

•A==b用于比较两个字符串中对应字符是否相等;

•A~=b用于比较两个字符串中对应字符是否不等;

•Isletter(mystring)用于判断mystring中字符是否为字母;

•Isspace(mystring)用于判断mystring中字符是否为空格或制表符;

•Strrep(label,’s1’,’s2’)可以将label中字符串s1用s2替换;

•Findstr(‘s1’,label)在label中找s1,找到返回位置;否则返回空矩阵符号“[]”;

•Strtok(label)在label中找分隔字符(空格,/,制表符),返回第一个分隔字符前的子串.

在编辑窗中输入下列程序,观察结果并逐行分析程序的功能。

a=2;

w=3;

t=0:

0.01:

10;

y=exp(-a*t).*sin(w*t);

[y_max,i_max]=max(y);

t_text=['t=',num2str(t(i_max))];

y_text=['y=',num2str(y_max)];

max_text=char('maximum',t_text,y_text);

tit=['y=exp(-',num2str(a),'t)*sin(',num2str(w),'t)'];

plot(t,zeros(size(t)),'k')

holdon

plot(t,y,'b')

plot(t(i_max),y_max,'r.','MarkerSize',20)

text(t(i_max)+0.3,y_max+.05,max_text)

title('tit'),xlabel('t'),ylabel('y'),holdoff

实习内容三MATLAB图形绘制基础

一、实习目的

1、进一步熟悉M文件调试过程

2、熟练掌握MATLAB二维曲线的绘制

3、掌握图形的修饰

二、实习内容

1、基本命令:

plot(数据作图、函数作图),ezplot(简易作图),fplot(简易作图)

(1)plot(x,y,’s’)s用来表示色彩、线型、点型

例3.1用plot绘制y=sinx/x的图形

x=-2*pi:

pi/10:

2*pi;

y=sin(x)./x;%准备数据

plot(x,y)%用plot作图

注意x=0处的图形

例3.2x=-2*pi:

pi/10:

2*pi;

x=x+(x==0)*eps;

y=sin(x)./x;%(准备数据,处理分母零点))

plot(x,y)%(用plot作图):

例3.3画出

包罗线。

t=(0:

pi/100:

pi);

y1=sin(t);y=-sin(t);

y2=sin(t).*sin(9*t);t3=pi*(0:

9)/9;

y3=sin(t3).*sin(9*t3);

plot(t,y1,'r:

',t,y,'r:

',t,y2,'b',t3,y3,'bo'),axis([0,pi,-1,1])

gtext(‘该点数值x’)

运行结果见图。

(2)ezplot用作图:

ezplot(‘sin(x)/x’,[-4*pi,4*pi])

(3)fplot用作图:

fplot(‘sin(x)/x’,[-2*pi,2*pi])

2、基本绘图控制参数:

设置线型、线色、数据点形

(1)、曲线点型、线色允许设置值

线型

符号

-

-.

--

含义

实线

虚线

点划线

双划线

线色

符号

b

g

r

c

m

y

k

w

含义

绿

品红

 

(2)、数据点形常用设置值

符号

.

o

x

+

*

s

d

p

含义

实心黑点

空心圆圈

叉字符

十字符

八线符

方块符

菱形符

五角星符

(3)、坐标轴控制(axis)、分格线(grid)

(4)、图形标注:

坐标轴名(label)、图形标题(title)、图例(legend)、图形说明(text,gtext),格式如下:

title(‘s’)书写图形标题

xlabel(‘s’)横坐标轴名

ylabel(‘s’)纵坐标轴名

legend(‘s1’,’s2’,…)绘制曲线所用线型、色彩、或数据点型图例

text(x1,y1,’s’)在图面(x1,y1)坐标处书写字符注释

gtext(‘s’)用鼠标选择书写字符注释的位置

(5)、常用

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

当前位置:首页 > 高等教育 > 文学

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

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