MATLAB实验二.docx

上传人:b****3 文档编号:2811530 上传时间:2022-11-15 格式:DOCX 页数:20 大小:47.44KB
下载 相关 举报
MATLAB实验二.docx_第1页
第1页 / 共20页
MATLAB实验二.docx_第2页
第2页 / 共20页
MATLAB实验二.docx_第3页
第3页 / 共20页
MATLAB实验二.docx_第4页
第4页 / 共20页
MATLAB实验二.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

MATLAB实验二.docx

《MATLAB实验二.docx》由会员分享,可在线阅读,更多相关《MATLAB实验二.docx(20页珍藏版)》请在冰豆网上搜索。

MATLAB实验二.docx

MATLAB实验二

实验课程名称:

《数学软件与数学实验》

实验项目名称

实验二:

Matlab基本运算与编程初步

实验成绩

实验者

王宗德

专业班级

数学1504

组别

同组者

实验日期

16年4月

【实验类型】验证性

【实验学时】1学时

【实验目的】

1、MATLAB的基本运算;

2、MATLAB编程;

【实验内容】

1、MATLAB的基本运算;

2、MATLAB编程;

【实验仪器与软件平台】

1.PIV2.8/256M以上计算机;

2.Matlab6.0以上。

【实验前的预备知识】

1.计算机基础知识;

2.熟悉编程基本思想;

3.熟悉常见数学函数;

【实验方法或步骤】

上机验证、熟悉以下函数、命令。

1常见数学函数

函数名

数学计算功能

函数名

数学计算功能

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

2系统的在线帮助

1)help命令:

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

>>help(回车)

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

>>helpsyntax(了解Matlab的语法规定)

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

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

2)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:

>>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实际是在定义一个符号表达式,这时的符号矩阵中的元素可以是任何的符号或者是表达式,而且长度没有限制。

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

例2:

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

sym_matrix=

[a,b,c]

[Jack,Help_Me,NO_WAY]

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

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

例3:

>>symsabc;

>>M1=sym('Classical');

>>M2=sym('Jazz');

>>M3=sym('Blues');

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

A=

[a,b,c]

[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

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

 

上机练习

(一):

1.练习数据和符号的输入方式,将前面的命令在命令窗口中执行通过;

2.输入A=[715;256;315],B=[111;222;333],在命令窗口中执行下列表达式,掌握其含义:

A(2,3)A(:

2)A(3,:

)A(:

1:

2:

3)A(:

3).*B(:

2)A(:

3)*B(2,:

)A*BA.*BA^2A.^2B/AB./A

>>A=[715;256;315];B=[111;222;333];

>>A(2,3)

ans=

6

>>A(:

2)

ans=

1

5

1

>>A(3,:

ans=

315

>>A(:

1:

2:

3)

ans=

75

26

35

>>A(:

3).*B(:

2)

ans=

5

12

15

 

>>A(:

3)*B(2,:

ans=

101010

121212

101010

>>A*B

ans=

242424

303030

202020

>>A.*B

ans=

715

41012

9315

 

>>A^2

ans=

661766

423370

381346

>>A.^2

ans=

49125

42536

9125

>>B/A

ans=

0.18420.2105-0.2368

0.36840.4211-0.4737

0.55260.6316-0.7105

>>B./A

ans=

0.14291.00000.2000

1.00000.40000.3333

1.00003.00000.6000

3.输入C=1:

2:

20,则C(i)表示什么?

其中i=1,2,3,…,10;

>>C=1:

2:

20;

>>i=1,2,3,...,10:

C(i)

i=

1

 

ans=

2

 

ans=

3

 

ans=

1

6编程

无条件循环

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

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

达式2:

表达式3

语句体

end

说明:

表达式1为循环初值,表达式2为步长,表达式3为循环终值;当表达式2省略时则默认步长为1;for语句允许嵌套。

例6:

如:

生成3×4阶的Hiltber矩阵。

fori=1:

3

forj=1:

4

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

end

end

如:

矩阵输入程序

m=input('矩阵行数:

m=');

n=input('矩阵列数:

n=');

fori=1:

m

forj=1:

n

disp(['输入第',num2str(i),'行,第',num2str(j),'列元素'])

A(i,j)=input('')

end

end

条件分支结构

1)if-else-end语句

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

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

语句体语句体1

endelseif逻辑表达式2

语句体2

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

语句体1…

elseelse

语句体2语句体n

endend

2)while循环语句

while循环的一般使用形式

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

当前位置:首页 > 经管营销 > 经济市场

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

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