MATLAB实验指导书Word文档格式.docx

上传人:b****8 文档编号:22475537 上传时间:2023-02-04 格式:DOCX 页数:19 大小:86.33KB
下载 相关 举报
MATLAB实验指导书Word文档格式.docx_第1页
第1页 / 共19页
MATLAB实验指导书Word文档格式.docx_第2页
第2页 / 共19页
MATLAB实验指导书Word文档格式.docx_第3页
第3页 / 共19页
MATLAB实验指导书Word文档格式.docx_第4页
第4页 / 共19页
MATLAB实验指导书Word文档格式.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

MATLAB实验指导书Word文档格式.docx

《MATLAB实验指导书Word文档格式.docx》由会员分享,可在线阅读,更多相关《MATLAB实验指导书Word文档格式.docx(19页珍藏版)》请在冰豆网上搜索。

MATLAB实验指导书Word文档格式.docx

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

2、系统的在线帮助

help命令:

(1).当不知系统有何帮助内容时,可直接输入help以寻求帮助:

>

>

help(回车)

(2).当想了解某一主题的内容时,如输入:

helpsyntax(了解Matlab的语法规定)

(3).当想了解某一具体的函数或命令的帮助信息时,如输入:

helpsqrt(了解函数sqrt的相关信息)

lookfor命令

现需要完成某一具体操作,不知有何命令或函数可以完成,如输入:

lookforline(查找与直线、线性问题有关的函数)

3、常量与变量

系统的变量命名规则:

变量名区分字母大小写;

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

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

特殊的变量、常量

取值

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=

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

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

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

行与行之间用分号(;

)分隔。

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

例1-1:

Time=[111212345678910]

X_Data=[2.323.43;

4.375.98]

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

函数

功能

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。

符号向量(矩阵)的输入

(1).用函数sym定义符号矩阵:

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

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

例1-2:

sym_matrix=sym('

[abc;

JackHelp_MeNO_WAY]'

sym_matrix=

[a,b,c]

[Jack,Help_Me,NO_WAY]

(2).用函数syms定义符号矩阵

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

例1-3:

symsabc;

M1=sym('

Classical'

);

M2=sym('

Jazz'

M3=sym('

Blues'

A=[abc;

M1,M2,M3;

sym([235])]

A=

[Classical,Jazz,Blues]

[2,3,5]

数组(矩阵)的点运算

运算符:

+(加)、-(减)、./(右除)、.\(左除)、.^(乘方),

例1-4:

g=[1234];

h=[4321];

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

矩阵的运算

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

常用函数:

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

例1-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

Y=B\A%B\A=B-1*A,即BY=A,求Y

四、实验要求:

写出自行设计的试题,记下调试过程中出现的问题,并给出最后的实验程序和结果,并写出实验报告。

实验二:

MATLAB的M文件的应用

1.熟悉MATLAB中两类M文件的区别

2.熟悉MATLAB的M文件创建,调用

3.熟悉MATLAB的M文件中的程序的调试

1.编写程序:

猜数字游戏,总共能猜10次:

当猜的数大于真实数时,输出‘HIGH’;

当猜的数小于真实数时,输出‘LOW’;

当猜的数等于真实数时,输出‘YOUWIN’,程序结束.

2.编写程序,求f(x)=x3+x2+x+4在[1,10]的定积分,用梯形法写出程序,并与MATLAB中的定积分函数进行比较。

3.编写程序,求Fibonacc数列:

f1=1,f2=1,fn=f(n-1)+f(n-2),n>

2,并求f(20)的值。

4.编写程序,实现对矩阵按行由大到小排序。

1、无条件循环

当需要无条件重复执行某些命令时,可以使用for循环:

for循环变量t=表达式1:

达式2:

表达式3

语句体

end

说明:

表达式1为循环初值,表达式2为步长,表达式3为循环终值;

当表达式2省略时则默认步长为1;

for语句允许嵌套。

例2-1:

如:

矩阵输入程序

生成3×

4阶的Hiltber矩阵。

m=input(‘矩阵行数:

m=’);

fori=1:

3n=input(‘矩阵列数:

n=’);

forj=1:

4fori=1:

m

H(i,j)=1/(i+j-1);

forj=1:

n

enddisp([‘输入第’,num2str(i),’行,第’,num2str(j),’列元素’])

endA(i,j)=input(‘’)

end

2、条件循环

1)if-else-then语句

if-else-then语句的常使用三种形式为:

(1)if逻辑表达式(3)if逻辑表达式1

语句体语句体1

endelseif逻辑表达式2

语句体2

(2)if逻辑表达式1elseif逻辑表达式3

语句体1…

elseelse

语句体2语句体n

endend

2)while循环语句

while循环的一般使用形式为:

while表达式

例2-2:

用二分法计算多项式方程

=0在[0,3]内的一个根。

解:

a=0;

fa=-inf;

b=3;

fb=inf;

whileb-a>

eps*b

x=(a+b)/2;

fx=x^3-2*x-5;

ifsign(fx)==sign(fa)

a=x;

fa=fx;

else

b=x;

fb=fx;

end

x

运行结果为:

x=2.0945515148154233

3、分支结构

若需要对不同的情形执行不同的操作,可用switch分支语句:

switch表达式(标量或字符串)

case值1

语句体1

case值2

语句体2

otherwise

语句体n

当表达式不是“case”所列值时,执行otherwise语句体。

4、建立M文件

将多个可执行的系统命令,用文本编辑器编辑后并存放在后缀为.m的文件中,若在MATLAB命令窗口中输入该m-文件的文件名(不跟后缀.m!

),即可依次执行该文件中的多个命令。

这个后缀为.m的文件,也称为Matlab的脚本文件(ScriptFile)。

注意:

文件存放路径必须在Matlab能搜索的范围内。

5、建立函数文件

对于一些特殊用户函数,系统提供了一个用于创建用户函数的命令function,以备用户随时调用。

(1).格式:

function[输出变量列表]=fun_name(输入变量列表)

用户自定义的函数体

(2).函数文件名为:

fun_name,注意:

保存时文件名与函数名最好相同;

(3).存储路径:

最好在系统的搜索路径上。

(4).调用方法:

输出参量=fun_name(输入变量)

例2-3:

计算s=n!

,在文本编辑器中输入:

functions=pp(n);

s=1;

fori=1:

s=s*i;

s;

在MATLAB命令窗口中输入:

s=pp(5)

结果为s=120

写出程序,记下调试过程中出现的问题,给出最后的实验程序和结果,并写出实验报告。

 

实验三:

MATLAB的图形的绘制

1.熟悉MATLAB中图形中二维曲线

2.熟悉图形中,各类属性的设置

3.熟悉多条曲线绘制,多个图形绘制

1.画图如下

1

2

3

4

要求4个图形中每条曲线的颜色,线型不一样

1号图中要有grid

2号图中X,Y轴要有Label

3号图中要有两个Y轴

4号图中要曲线函数的表达式

2.

画如下的分段函数,y=sin(x),当y<

0时y=0;

当y>

0.8时y=0.8

1、直角坐标中的两维曲线基本绘图方法

(1)plot(y)——输入一个数组的情况

如果y是一个数组,函数plot(y)给出线性直角坐标的二维图,以y中元素的下标作为X坐标,y中元素的值作为Y坐标,一一对应画在X-Y坐标平面图上,而且将各点以直线相联。

例3-1:

画出10个随机数的曲线:

y=5*(rand(1,10)-.5)

y=2.2506-1.34430.5342-0.07011.95651.3105-0.2177-2.40751.6070-0.2765

键入plot(y),MATLAB会产生一个图形窗,自动规定最合适的坐标比例绘图。

X方向是横坐标,从1到10,Y方向范围则是-4到4,并自动标出刻度。

可以用title命令给图加上标题,用xlabel、ylabel命令给坐标轴加上说明,用text或gtext命令可以图上任何位置加标注,也可用grid命令在图上打上坐标网格线。

(2)plot(x,y)——输入两个数组的情况

如果数组x和y具有相同长度,命令plot(x,y)将绘出以x元素为横坐标,y元素为纵坐标的曲线。

例3-2,设t为时间数组t=0:

0.5:

4*pi,y是一个随t作衰减振荡的变量,y=exp(-0.1*t).*sin(t),则plot(t,y)就以t为横坐标,y为纵坐标画曲线。

2、线型、点型和颜色

MATLAB会自动设定所画曲线的颜色和线型。

如果用户对线型的默认值不满意,可以用命令控制线型。

也可以根据需要选取不同的数据点的标记。

为了设定线型,在输入变量组的后面,加一个引号,在引号内部放入线型和颜色的标识符,如:

plot(x,y,'

*b'

这样绘出的图线,其数据处均用*作蓝色标记,而各点之间不再连以直线。

plot(x1,y1,'

:

y'

),plot(x2,y2,'

+r'

绘出的第一条曲线是黄色的点线,第二条曲线的数据点标记为红色的“+”号。

其他线型、点型和颜色见下表。

线型、点型和颜色表

标识符

颜色

线型和点型

Y

.

M

品红

o

圆圈

c

x号

r

+

+号

g

绿

-

实线

b

*

星号

w

虚线

k

-.

点划线

--

长划线

3、多条曲线的绘制

在一张图上画多根曲线有4种方法。

(1)、plot(t,[y1,y2,…])命令

该语句中t是向量,y=[y1,y2,…]是矩阵,若t是列(行)向量,则y的列(行)长与t长度相同。

y的行(列)数就是曲线的根数。

例如:

键入plot(t,[y;

y1])

它会自动给曲线以不同的颜色。

这种方法要求所有的输出量有同样的长度和同样的自变量向量。

另外,它不便于用户自行设定线型和颜色。

(2)、hold命令

在画完前一张图后用hold命令保持住,再画下一条曲线。

键入plot(t,y),hold,plot(t,y1,'

g'

执行此命令时,图形窗产生第一幅图形,同时,命令屏幕显示Currentplotheld,图形处于保持状态。

再执行plot(t,y1,`g`),就把第二幅图以绿色的曲线叠合在同一张图上。

(3)、在plot后使用多输入变量

在plot后使用多输入变量所用的语句为:

plot(x1,y1,x2,y2,…,xn,yn)

其中,x1,y1,x2,y2等分别为数组对。

每一对X-Y数组可以绘出一条图线,这样就可以在一张图上画出多条图线,每一组数组对的长度可以不同,在其后面都可加线型标志符。

(4)、plotyy命令

它设有两个纵坐标,以便绘制两个y尺度不同的变量,但x仍只用同一个比例尺,纵坐标和曲线的标注可用gtext命令。

gtext命令用鼠标拖动来确定标注文字的位置,用起来比较方便。

实验四:

MATLAB数据分析,与曲线拟合

1.熟悉MATLAB中基本的数据处理功能

2.熟悉多项式的基本运算

3.熟悉曲线拟合的运用

1.随机产生两个3X4的矩阵A与B,求所有同一位置上的较大元素构成的新矩阵C,并得到矩阵C中的最大值的行与列.

2.已知以下数据

X

3

5

6

7

8

9

10

2.3

5.4

7.8

3.5

4.1

5.6

3.4

8.8

求a)数据Y的平均值与均方差

b)用插值法求出,当X等于[1.5,2.5,3.5,4.5,5.5,6.5,7.5,8.5,9.5]时Y的值.

c)选择一个恰当的次数进行曲线拟合,求出当X等于[10,11]时Y的值,

d)在一张图中用不同的颜色画出原始的点,插值点,与拟合的曲线.

三、实验原理

1、多项式拟合

p=polyfit(x,y,n)用于多项式曲线拟合。

其中x,y是已知的N个数据点坐标向量,当然其长度均为N。

n是用来拟合的多项式次数,p是求出的多项式的系数,n次多项式应该有n+1个系数,故p的长度为n+1。

拟合的准则是最小二乘法。

例4-1设原始数据为x时在11个点上测得的y值:

x=0:

0.1:

1;

y=[-0.447,1.978,3.28,6.16,7.08,7.34,7.66,9.56,9.48,9.30,11.2];

·

线性拟合:

a1=polyfit(x,y,1);

求出a1后,可求出xi=linspace(0,1);

(即100个点)上的yi1值并绘图:

yi1=polyval(a1,xi);

plot(x,y,'

o'

xi,yi1,'

b'

),pause

其中原始数据用圆圈标出,而拟合曲线为蓝色。

依次类推,有

二次拟合:

a2=polyfit(x,y,2);

yi2=polyval(a2,xi);

xi,yi2,'

m'

三次拟合:

a3=polyfit(x,y,3);

yi3=polyval(a3,xi);

xi,yi3,'

r'

九次拟合:

a9=polyfit(x,y,9);

yi9=polyval(a9,xi);

xi,yi9,'

c'

十次拟合:

a10=polyfit(x,y,10);

yi10=polyval(a10,xi);

xi,yi10,'

(a)原始数据点(b)线性拟合(c)二次拟合

(d)三次拟合(e)九次拟合(f)十次拟合

图4-1不同的逼近次数产生的不同曲线

所得的曲线见图4-1。

给定11点的最大拟合阶次为10,此时拟合曲线将通过全部给定点。

可以看出,拟合曲线的阶次太高会造成曲线振荡,反而看不出函数关系的基本规律,并不一定好。

2、多项式插值

插值和拟合的不同处有以下几点。

插值函数通常是分段的,因而人们关心的不是函数的表达式,而是插值得的数据点。

插值数据应通过给定的数据点x,y。

插值函数interp1的调用格式:

yi=interp1(x,y,xi,'

method'

其中xi为插值范围内的任意点集的x坐标,yi是插值后的对应数据点集的y坐标。

Method为插值函数的类型选项,有linear(线性,默认项)、cubic(三次)和cubicspline(三次样条)等三种。

Interp2为二维插值函数。

例4-2仍取例4.6中的x,y,xi,求其线性和三次插值曲线。

线性插值:

yi1=interp1(x,y,xi);

plot(x,y,'

xi,yi1)

三次插值:

yi2=interp1(x,y,xi,'

spline'

);

plot(x,y,'

xi,yi2,'

所得曲线见图4-2及图4-3,三次插值的结果比较光滑。

图4-2线性插值曲线图4-3三次插值曲线

实验五:

利用GUI工具设计计算器

掌握GUI工具的使用。

设计并实现一个计算器。

要求:

1、具有良好的人机交互图形界面.

2、正确输入参与运算的数值,包括整数,小数,正数,负数(可选实数,复数).

3、必须完成加,减,乘,除四则运算,并选择完成一些其它的运算,如逻辑运算和函数运算等.

4、正确显示运算结果.

5、具体图形界面形式不限,以实际操作方便为准,可利用MATLAB提供的各种控件和菜单实现.

参考教材或其它参考书。

编写程序,记下调试过程中出现的问题,给出最后的实验程序和结果,并写出实验报告。

注:

本实验为附加题,学生可选做。

ftp:

//upload:

upload@211.65.64.181/计算机系老师课件上传专用(勿删)/MATLAB实验指导

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

当前位置:首页 > IT计算机 > 互联网

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

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