MATLAB应用基础实验讲义.docx

上传人:b****2 文档编号:11779129 上传时间:2023-06-02 格式:DOCX 页数:27 大小:54.48KB
下载 相关 举报
MATLAB应用基础实验讲义.docx_第1页
第1页 / 共27页
MATLAB应用基础实验讲义.docx_第2页
第2页 / 共27页
MATLAB应用基础实验讲义.docx_第3页
第3页 / 共27页
MATLAB应用基础实验讲义.docx_第4页
第4页 / 共27页
MATLAB应用基础实验讲义.docx_第5页
第5页 / 共27页
MATLAB应用基础实验讲义.docx_第6页
第6页 / 共27页
MATLAB应用基础实验讲义.docx_第7页
第7页 / 共27页
MATLAB应用基础实验讲义.docx_第8页
第8页 / 共27页
MATLAB应用基础实验讲义.docx_第9页
第9页 / 共27页
MATLAB应用基础实验讲义.docx_第10页
第10页 / 共27页
MATLAB应用基础实验讲义.docx_第11页
第11页 / 共27页
MATLAB应用基础实验讲义.docx_第12页
第12页 / 共27页
MATLAB应用基础实验讲义.docx_第13页
第13页 / 共27页
MATLAB应用基础实验讲义.docx_第14页
第14页 / 共27页
MATLAB应用基础实验讲义.docx_第15页
第15页 / 共27页
MATLAB应用基础实验讲义.docx_第16页
第16页 / 共27页
MATLAB应用基础实验讲义.docx_第17页
第17页 / 共27页
MATLAB应用基础实验讲义.docx_第18页
第18页 / 共27页
MATLAB应用基础实验讲义.docx_第19页
第19页 / 共27页
MATLAB应用基础实验讲义.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

MATLAB应用基础实验讲义.docx

《MATLAB应用基础实验讲义.docx》由会员分享,可在线阅读,更多相关《MATLAB应用基础实验讲义.docx(27页珍藏版)》请在冰点文库上搜索。

MATLAB应用基础实验讲义.docx

MATLAB应用基础实验讲义

[实验题目一]MATLAB开发环境

一、实验目的

(1)了解MATALB语言的主要特点。

(2)熟悉MATLAB的用户界面和基本操作。

(3)初步掌握命令窗和文本编辑器的操作方法。

(4)了解MATLAB的帮助系统。

二、MATLAB简介

MATLAB(MatrixLaboratory矩阵实验室),是美国Mathworks公司于1984年推出的一种科学计算软件,是一种以矩阵运算为基础的交互式程序语言,将高性能的数值计算和可视化集成在一起,是一种功能强大的分析、计算及可视化工具,广泛应用于科学计算、系统控制以及信息处理等领域。

MATLAB语言简单易学,容易使用,库函数丰富;程序设计自由度大,可移植性好,源程序开放,可扩展性强;图形功能强大;具有功能强大的工具箱和帮助系统。

1.MATLAB工作环境

(1)MATLAB系统的启动与退出

在Windows桌面上双击MATLAB图标,进入MATLAB主界面。

在MATLAB的命令窗口输入“exit”或“quit”或者关闭MATLAB窗口都可退出MATLAB。

(2)MATLAB的用户界面

MATLAB的用户界面主要由以下部分组成:

●菜单栏

●工具栏

●命令窗口

在命令窗下键入一条命令,按Enter键,该命令被立即执行并显示结果。

命令窗中的快捷键:

“↑”:

调出前一个命令行。

“↓”:

调出后一个命令行。

“Esc”:

清除当前行。

“Ctrl+C”:

中断正在执行的命令。

命令窗中的控制命令:

clc:

清空命令窗口中显示的内容。

●命令历史窗口

显示命令的历史记录,双击该窗口中的某条命令,可立即执行该命令。

●当前路径窗口

显示当前工作在什么路径下。

●工作空间窗口

用于显示当前MATLAB变量的名称,数值,数据结构,类型。

常用命令:

clear:

删除工作空间中的变量。

whos:

查看MATLAB内存变量的名称、大小、字节数和类型。

save:

把工作空间的数据存放到mat数据文件中。

load:

把数据文件中的变量加载到工作空间。

(3)M文件编辑器

M文件编辑器是用于编写MATLAB程序文件(M文件)的文本编辑器。

在MATLAB菜单栏中选择“File|New/M-file”命令或工具栏中点击“NewM-file”图标,可打开M文件编辑器。

编辑的文件保存为扩展名为“.m”的文件,在命令窗口中输入文件名即可运行该M文件。

2.MATLAB的帮助系统

使用帮助浏览器,打开方法:

利用菜单栏的“help”或点击工具栏的“?

”图标。

使用helpwin”或”helpdesk”命令。

使用帮助命令:

help命令名;可获得某条命令的帮助信息(用法说明)。

例如:

helpstem可得到“stem”命令(函数)的帮助信息。

help类型名;可分类搜索帮助信息。

例如:

helpdatafun可得到“数据分析和傅里叶变换”的所有命令。

Demos演示,提供演示实例,打开方法:

选择菜单命令“Help---Demos”

命令窗口中运行Demos命令。

三、实验内容

1.运行MATLAB7.0软件,熟悉MATLAB用户界面。

2.熟悉MATLAB7.0的常用窗口及功能。

3.查看MATLAB7.0的菜单栏及工具栏的内容及功能。

4.学习命令窗口、工作空间窗口和文本编辑器的常用操作。

5.使用帮助系统,查看帮助信息。

6.使用帮助命令,查看”demo”命令的帮助信息。

打开demos窗口,查看演示结果。

 

[实验题目二]MATLAB基本运算

一、实验目的

(1)了解MATALB的变量、函数和表达式。

(2)熟悉MATLAB数组、矩阵的创建方法。

(3)掌握数组运算、矩阵运算、关系运算、逻辑运算等基本运算及常用函数的使用。

二、实验原理(MATLAB的基本运算介绍)

(一)MATALB的变量、函数和表达式

MATALB的变量和常量都是数组(或矩阵)的形式存在,且每个元素可以是复数。

MATALB提供各种类别的函数,除了基本的数学函数外,还提供了多种专门功能的工具箱函数。

MATALB的表达式由变量、数值、函数及运算符构成。

例如:

(12+2*(8-5))/3^2%(12+2×(8-5))/32

a=5;b=[1,2,3];c=3+2*a-max(b)

a=sin(pi/2)+sqrt(9)%a=sin(π/2)+

t=2,a=exp(-t)%a=e-t

(二)MATALB的常用数据类型

数值型:

整数(int、uint)、浮点数(double(64位)、float(32位))、复数(a+bi)、

无穷大数(inf、-inf)。

MATALB默认的数据类型是double。

逻辑型:

只有0和1两种状态。

a=5;b=a>3。

a为double型,b为logical型。

字符串型:

c=’student’。

(三)MATALB的数组和矩阵运算

1.数组(矩阵)的创建

数组的直接创建:

a=[12345]a=[1,2,3,4,5]a=[1;2;3;4;5]a=[1,1+2i,2+3i]n=0:

5

b=[1,2,3;4,5,6]%生成2×3的二维数组(矩阵)c=b’%c是b的转置

用函数生成数组:

ones(2,3)%生成一个2×3的1数组

zeros(3,2)%生成一个3×2的0数组

eye(n)%生成一个n×n的单位矩阵

rand(2,3)%生成一个2×3均匀分布随机矩阵

randn(2,3)%生成一个2×3正态分布的随机矩阵

2.数组(矩阵)基本操作

数组寻址;a=[123456]a

(2)a(2:

5)a(4:

end)%a

(2)=2a(2:

5)=[2345]

a=[123;456]a(3)a(2,3)%a(3)=2a(2,3)=6

数组的扩展和提取x=[123;456]x(3,3)=10%x扩展为3×3

a=ones(2,2)b=zeros(2,2)c1=[a,b]c2=[a;b]%扩展

a=[123;456;789]b=a(1:

2,2:

3)%提取a的前2行的后2列形成b

按列拉长:

c=a(:

数组元素的删除a=rand(4,4)a(3,:

)=[]%删除a的第3行

a=rand(4,4)a(:

[1,3])=[]%删除a的第1和第3列

数组操作函数:

[m,n]=size(X):

%求数组(矩阵)的大小,m和n分别是X的行数和列数。

n=length(X):

%n是X的行数和列数中较大的一个。

reshape(A,m,n):

%返回一个m×n的矩阵,其元素是以列方式从A中获得。

3.数组运算

MATLAB数组的加、减、乘、除和幂运算是对应元素的运算,运算符分别为“+”、“—”、“.*”

“./”和“.^”。

a=3*ones(3,3);b=2*ones(3,3)

c1=a+bc2=a-bc3=a.*bc4=a./bc5=a.^2c6=2.^aa.^b

4.矩阵运算

矩阵运算采样线性代数的运算方式。

MATLAB矩阵的加、减、乘、除和幂运算的运算符分别为“+”、“—”、“*”、“/”、“\”、和“^”。

a=eye

(2)b=[1,2;3,4]c=a*b

a=[12;34]b=[56;78]x=a/bx*b

c=a^3

(四)MATALB的关系运算和逻辑运算

1.关系运算

MATLAB的关系运算符有“<”、“<=”、“>”、“>=”、“==”、“~=”,

用于比较大小相同的二个数组,或比较一个数组和一个标量,返回的结果为0或1。

a=1:

9;b=[1:

3,1:

6]

c=a>5c=b<=2a==ba~=b

2.逻辑运算

MATLAB的逻辑运算符有“&”、“|”、“~”、“xor”(与、或、非、异或)。

a=1:

5;c=~(a>3)

c=(a>2)&(a<=3)

a=[10;01];b=ones

(2);c1=a|b,c2=xor(a,b)

3.关系和逻辑运算函数

all、any、find

a=[01;23]

all(a)

any(a)

a=0:

3

find(a>2)

b=eye(3)

find(b==0)

三、实验内容

1.简单的赋值及运算

在命令窗口输入以下命令,观察每条语句的输出结果,理解每一条语句的含义。

(1)a=10

b=a*10+10^2

(12+2*(8-5))/3^2

c=2*sin(pi/2)+sqrt(9)

n=0:

15

m=0:

2:

10

(2)x=[1,3,5,0,2]

x

(1)

y=[123;456;789]

y(2,3)

y(4)

y(3,:

y(3,:

)=[sqrt(9),(4+5)*3/6,-7]

y1=y(1:

2,2:

3),y2=y([1,3],[1,3])

y3=y1(:

),y4=y3’

a=ones(2,2),b=zeros(2,2)

c=[a,b]

(3)A=[135],B=[246]

C=A+B

D=abs(A-2)

E1=A*3

E2=A.*B

E3=B./A

E4=A.^2

(4)a=eye

(2),b=[1,2;3,4]

c1=a*b

c2=a^3

(5)a=1:

9,b=[1:

3,1:

6]

c1=a>5

c2=b<=2

a==b

a~=b

c3=(a>2)&(a<=3)

a=[10;01],b=ones

(2)

c4=xor(a,b)

(6)c=ones(3,2)

[m,n]=size(c)

a=randn(2,3)

n=length(b1)

c1=reshape(b2,3,2)

b3=eye(3)

find(b3==0)

2.练习题

(1)生成一个3×3的均匀分布的矩阵,将其对角线元素的值加3.

(2)计算序列x1=3sin(πn/4)(0≤n≤15)。

(3)生成一个4×5的矩阵,创建由该矩阵第1、3行,第1、3、5列元素构成的矩阵。

(4)计算序列x2=1+2cos(πn/4)(0≤n≤15)。

(5)生成一个3×3的均匀分布的矩阵,求其元素值大于0.5并且小于0.8的元素索引。

 

[实验题目三]MATLAB的程序结构

一、实验目的

(1)熟悉MATLAB语言的顺序结构、循环结构和分支结构。

(2)掌握MATLAB语言的循环语句、分支语句等使用方法。

二、实验原理(MATLAB的程序结构)

1.顺序结构

2.循环结构

(1)forend循环

这种方式允许一组命令以固定和预定的次数重复,其结构为:

for循环变量=开始值:

增量:

结束值

commands

end

【例3-1】:

fori=1:

10

y(i)=i;

end

y=

12345678910

循环变量可以为数组,每次循环变量是数组的一列。

For循环可以嵌套使用。

【例3-2】:

s=0;

forx=[1,10,100]

s=s+x;

end

s=

111

(2)whileend循环

这种方式循环次数不定,当表达式为真时,执行while和end之间的命令,其结构为:

while表达式

commands

end

【例3-3】:

s=0;n=0;

whiles<100

n=n+1;s=s+n;

end

n=n-1

n=

13

3.分支结构

(1)ifend结构

If逻辑表达式

commands

end

【例3-4】:

n=10;

cost=10;

ifn>8

sum=n*cost*0.95;

end

(2)if-else-end结构

If表达式

表达式为真时的commands1

else

表达式为假时的commands2

end

当程序包含多个选择时,采用以下结构:

If表达式1

表达式1为真时的commands1

elseif表达式2

表达式2为真时的commands2

else

Commands3

end

4、其他流程控制语句

input、break、pause、echo等语句。

三、实验内容

1.阅读并输入实验原理中的例题程序,观察并分析输出结果,理解每一条语句的含义。

2.输入以下命令,观察并分析输出结果,理解每一条语句的含义。

(1)form=1:

3

forn=1:

5

a(m,n)=m+n;

end

end

a

(2)x=1

forn=2:

10

x=x*n;

ifx>=100

break

end

end

x,n

3.练习题

(1)计算S=12+22+32+…302

(2)计算n!

<1000的最大的n值。

 

[实验题目四]M文件的编写与调试

一、实验目的

(1)熟悉M脚本文件(命令文件)和函数文件的结构。

(2)掌握M脚本文件的编写与调试。

(3)掌握M函数文件的编写与调用。

二、实验原理(M脚本文件和函数文件)

MATLAB作为科学计算软件,不仅具有强大的数值计算、数据可视化功能,而且具有强大的程序设计功能。

通过编写扩展名为.m的M文件,用户可实现各种复杂的功能。

1.M脚本文件(命令文件)

M脚本文件(命令文件)是按用户意图而排列的MATLAB命令集合,通常由正文(实现特定功能)和注释部分(代码说明,不予执行)构成。

文件运行后,所有变量均是全局变量,一直保存在MATLAB工作空间中(除非用clear命令删除)。

用下面的例子来说明M命令文件的编写与运行。

【例4-1】:

显示曲线x(t)=3sin(2πt),t>0

(1)在MATLAB菜单栏或工具栏中点击NewM-file,打开文本编辑器。

(2)输入以下命令:

%program1.mThisismyfirstexample.

t=0:

0.05:

3;%建立时间数组

x=2*sin(2*pi*t);%生成函数

plot(t,x);%以t为横坐标、x为纵坐标作连续信号x(t)的曲线.

title('x(t)=3sin(2πt)');%标注图名

xlabel('t');%标注横坐标

ylabel('x(t)');%标注纵坐标

(3)选File|Save命令或点击“保存图标(save)”,输入文件名program1,将文件保存。

(4)在MATLAB命令窗口输入文件名“program1”(或Debug→Run),程序运行,可观察到波形曲线。

2.M函数文件

M函数文件的第一行以function开始,说明此文件就是一个函数。

函数文件内定义的变量是局部变量,执行完函数文件后,这些变量将被清除。

函数文件形式为:

function[out1,out2…]=funname(in1,in2,…)

functiony=funname(x)

functionfunname(x)

functionfunname

【例4-2】:

编写函数文件,求向量元素的平均值。

(1)打开MATLAB的M文件编辑器,输入以下命令。

functiony=avg(a)

y=sum(a)/length(a);

(2)保存文件avg.m,该文件定义了名为avg的新函数。

(3)在命令窗运行以下命令,求1~100的平均值。

avg(1:

100)

ans=

50.5000

【例4-3】:

编写函数文件stat.m,求向量元素的均值和方差。

function[mean,stdev]=stat(x)

%STATInterestingstatistics

n=length(x);

mean=sum(x)/n;%计算均值

stdev=sqrt(sum((x-mean).^2)/n);%计算方差

或者:

function[mean,stdev]=stat(x)

n=length(x);

mean=avg(x,n);

stdev=sqrt(sum((x-avg(x,n)).^2)/n);

functionmean=avg(x,n)%agvsubfunction

mean=sum(x)/n;

3.函数调用

MATLAB调用函数的常用形式为:

[out1,out2…]=funname(in1,in2,…),调用时各参数出现的顺序要与函数定义时的顺序一致。

函数调用可以嵌套。

【例4-4】:

编写并调用M函数,对给定的实数a,b,正整数n=1,2…10,计算所有(a+b)n和(a-b)n

(1)建立函数文件

function[add,sub]=pow(a,b,n)%pow.m计算(a+b)n和(a-b)n

add=(a+b)^n;

sub=(a-b)^n;

(2)建立调用上述函数的M文件e1.m

a=input('pleaseinputa=');

b=input('pleaseinputb=');

forn=1:

10

[add(n),sub(n)]=pow(a,b,n);

end

add

sub

【例4-5】:

编写时域序列绘图函数,并调用该函数绘制序列x1(n)=cos(πn/8),0≤n≤31。

(1)编写时域序列绘图函数tstem.m

functiontstem(xn,y)%xn为时域序列,y是序列的纵坐标名称(字符型)。

n=0:

length(xn)-1;

stem(n,xn,'.');%绘制以n为横坐标、xn为纵坐标的脉冲杆图(序列图形)。

xlabel('n');ylabel(y);

axis([0,n(end),1.2*min(xn),1.2*max(xn)])%限定图形横纵坐标的范围

(2)调用函数tstem绘制x1(n)=cos(πn/8),0≤n≤31。

%M文件e2.m

n=0:

31;

xn=cos(pi*n/8);%产生时域序列

y=’x1(n)’%序列名称

tstem(xn,y)%调用函数,绘制时域序列波形。

title('序列x1(n)=cos(π*n/8)');%标注图名

4.M文件的调试

程序调试可发现二种错误:

语法错误和逻辑错误(运行错误)。

程序调试二种方法:

直接调试和MATLAB工具调试。

直接调试:

将中间结果显示在命令窗口,查看变量的值;在程序的适当位置加入断点等。

利用调试工具:

文本编辑器中的“Debug”菜单提供了全部调试选项。

三、实验内容

1.阅读并输入实验原理中的例题程序,观察并分析输出结果,理解每一条语句的含义。

2.编写时域序列绘图函数,并调用该函数绘制x2(n)=sin(πn/8),0≤n≤31。

3.编写时域序列绘图函数,并调用该函数绘制x3(n)=cos(πn/16),0≤n≤31。

4.编写并调用M函数,对给定的实数a,b,正整数n=1,2…10,计算所有(a+b)×n和(a-b)×n的值。

 

[实验题目五]MATLAB的图形绘制

一、实验目的

(1)掌握二维、三维图形的绘制及参数设置的方法。

(2)了解特殊的二维图形的绘制。

二、实验原理

MATLAB作为科学计算软件,不仅具有强大的数值计算功能,其绘图功能也相当强大。

它提供一套功能强大的绘图命令(绘图函数和绘图工具),可以绘制出原始数据的二维、三维图形,并可以对图形进行各种修饰,为计算过程和结果的可视化提供了极好的手段。

(一)MATLAB图形绘制的一般步骤

(1)数据准备

(2)指定图形窗口和子图位置

(3)调用绘图命令绘制图形

(4)设置坐标轴及图形注释

(5)按指定格式保存或导出图形

(二)MATLAB二维图形绘制

基本绘图函数介绍:

1.plot

功能:

按线性比例,在x和y两个方向上绘制二维图形。

调用格式:

plot(x,y);绘制以x为横坐标、y为纵坐标的二维图形。

plot(x,y,‘string’);设置线型、颜色及数据点型。

plot(x1,y1,x2,y2,…);绘制多条曲线。

【例5-1】颜色、数据点型、线型的设置

x=0:

0.1:

10;

y1=sin(x);

y2=cos(x);

plot(x,y1,'r*--',x,y2,'go-')%y1红色,点型为*,线型为虚线;y2绿色,点型为圆,线型为实线。

2.subplot

功能:

在同一图形界面上产生多个绘图区间。

调用格式:

subplot(m,n,i);在同一界面上产生m行n列的子图轴系,在第i个子图位置作图。

3.stem

功能:

绘制二维脉冲杆图(柄图、序列图形)

调用格式:

stem(x,y);绘制以x为横坐标、y为纵坐标的脉冲杆图(序列图形)。

stem(x,y,’.’);stem(x,y,’fill’)

4.title

功能:

在图形上方标注图名

调用格式:

title(‘中文或英文的图名’)

5.xlabel

功能:

在横轴下方标注横坐标

调用格式:

xlabel(‘中文或英文的横坐标’);标注横坐标

6.ylabel

功能:

在纵坐标左侧标注纵坐标

调用格式:

ylabel(‘中文或英文的纵坐标’);标注纵坐标

7.axis

功能:

限定图形坐标的范围。

调用格式:

axis([x1,x2,y1,y2]);x1,x2为横坐标的起止范围,y1,y2为纵坐标的起止范围。

8.grid

功能:

在当前图上加上(或撤销)网格线。

调用格式:

gridon(off)

9.legend

功能:

图形标注(在当前图中添加图例)。

调用格式:

legend(string1,string2,…);legendoff

10.text

功能:

文本注释。

调用格式:

text(x,y,‘string1’);

【例5-2】不同颜色、线型绘图,添加图形标注和文本注释。

x=0:

pi/50:

2*pi;

y1=sin(x);y2=cos(x);

plot(x,y1,'r*--',x,y2,'bo-');

gridon

legend('sin(\alpha)','cos(\alpha)');

text(pi,0,'\leftarrowsin(\alpha)')

title('sin(\alpha)和cos(\alpha)')

xlabel('\alpha');ylabel('sin(\alpha)和cos(\alpha)');

【例5-3】在同一图形窗绘制多个子图。

t=(0:

100)*pi/100;

y1=sin(t);

y2=sin(10*t);

y3=cos(t);

y4=sin(t).*sin(10*t);

subplot(2,2,1);plot(t,y1);axis([0,pi,-1,1]);

subplot(2,2

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

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2