matlab第三讲Matlab的基本函数与代数运算.docx

上传人:b****8 文档编号:30017066 上传时间:2023-08-04 格式:DOCX 页数:21 大小:22.34KB
下载 相关 举报
matlab第三讲Matlab的基本函数与代数运算.docx_第1页
第1页 / 共21页
matlab第三讲Matlab的基本函数与代数运算.docx_第2页
第2页 / 共21页
matlab第三讲Matlab的基本函数与代数运算.docx_第3页
第3页 / 共21页
matlab第三讲Matlab的基本函数与代数运算.docx_第4页
第4页 / 共21页
matlab第三讲Matlab的基本函数与代数运算.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

matlab第三讲Matlab的基本函数与代数运算.docx

《matlab第三讲Matlab的基本函数与代数运算.docx》由会员分享,可在线阅读,更多相关《matlab第三讲Matlab的基本函数与代数运算.docx(21页珍藏版)》请在冰豆网上搜索。

matlab第三讲Matlab的基本函数与代数运算.docx

matlab第三讲Matlab的基本函数与代数运算

第三讲Matlab的基本函数与代数运算

3.1Matlab的变量和基本函数

3.2矩阵的代数运算

3.1Matlab的变量和基本函数

1、Matlab中常用的常量和变量

ans,eps(无穷小),realmax(最大实数),realmin(最小实数),pi(π),inf(无穷大),NaN(不确定数),i,j(虚数单位),nargin,nargout(调用函数时变量数)。

>>eps

ans=2.2204e-016

>>realmax

ans=1.7977e+308

>>realmin

ans=2.2251e-308

>>1/0Warning:

Dividebyzero.

ans=Inf

>>0/0Warning:

Dividebyzero.

ans=NaN

>>i^2

ans=-1

>>j^2

ans=-1

2、Matlab的基本数学函数

round(x)求最接近x的整数,(四舍五入)。

如果x是一个向量,则适用于所有元素。

fix(x)求0方向最接近x的整数。

floor(x)求小于或等于x的最接近的整数。

ceil(x)求大于或等于x的最接近的整数。

rem(x,y)求整除x/y的余数。

gcd(x,y)求整数x和y的最大公因子。

lcm(x,y)求正整数x和y的最小公倍数。

[t,n]=rat(x)由有理数t/n求x的近似值,这里的t和n是整数,相对误差小于1e-6。

[t,n]=rat(x,tol)与上相同,但相对误差小于tol。

abs(x)求x的绝对值,即|x|。

sign(x)求x的符号,如果是正的得1;负的得-1;零得0。

sqrt(x)求x的平方根。

exp(x)求x的指数函数。

log(x)求x的自然对数,即lnx。

log10(x)求x以10为底的对数。

log2(x)求x以2为底的对数。

sin(x)求正弦x,x为弧度。

cos(x)求余弦x,x为弧度。

tan(x)求正切x,x为弧度。

cot(x)求余切x,即1/(tanx),x为弧度。

asin(x)求反正弦。

acos(x)求反余弦。

atan(x)求反正切。

acot(x)求反余切。

sec(x)求正割x,即1/(cosx)。

csc(x)求余割x,即1/(sinx)。

asec(x)求asecx=arccos(1/x)。

acsc(x)求acscx=arcsin(1/x)。

sinh(x)求双曲正弦x。

cosh(x)求双曲余弦x。

有关于复变函数的一些函数

real(z)求z的实部。

imag(z)求z的虚部。

abs(z)求z的绝对值,即|z|。

conj(z)求z的共扼复数。

angle(z)求z的相角。

2、Matlab的逻辑运算和基本逻辑函数

A&B返回一个与A和B相同维数的矩阵。

在这个矩阵中,A和B对应元素都为非零时,则对应项为1;有一个为零的项则为0。

A|B返回一个与A和B相同维数的矩阵。

在这个矩阵中,A和B对应元素只要有一个为非零,则对应项为1;两个矩阵均为零时,则为0。

~A返回一个与A相同维数的矩阵。

在这个矩阵中,A是零时,则对应项为1;A是非零时,则对应项为0。

xor(A,B)返回一个与A和B相同维数的矩阵。

在这个矩阵中,如果A和B均为零或均为非零时,则对应项为0;如果A或B是非零但不是两者同时为非零时,则对应项为1。

>>A=round(rand(4))

A=

1111

0101

1010

0010

>>B=round(rand(4))

B=1000

1000

0100

1011

>>A&B

ans=1000

0000

0000

0010

>>A|B

ans=1111

1101

1110

1011

>>~A

ans=0000

1010

0101

1101

>>xor(A,B)

ans=0111

1101

1110

1001

any(x)如果x中的有一个元素为非零值,那么返回1;否则,返回0。

any(A)对A进行列运算,根据相应列是否包含非零元素,返回一个带1和0的行向量。

all(x)如果所有的元素都是非零值,返回1;否则,返回0。

all(A)对A进行列操作,根据相应列是否所有元素都为非零值,返回带1和0的一个行向量。

>>x=round(rand(1,6))

x=110010

>>any(x)

ans=1

>>all(x)

ans=0

>>A=round(rand(3))

A=001

100

011

>>any(A)

ans=111

>>all(A)

ans=000

isnan(A)返回一个维数与A相同的矩阵,在这个矩阵中,对应A中有‘NaN’处为1,其他地方为0。

isinf(A)返回一个维数与A相同的矩阵,在这个矩阵中,对应A中有‘inf’处为1,其他地方为0。

isequal(A,B)如果A和B是相同的,即有相同的维数和相同的内容,则返回1。

>>A=round(rand(3))

A=111

110

000

>>B=1./A

Warning:

Dividebyzero.

B=111

11Inf

InfInfInf

>>isinf(B)

ans=000

001

111

>>C=0./A

Warning:

Dividebyzero.

C=000

00NaN

NaNNaNNaN

>>isnan(C)

ans=000

001

111

>>A=pascal(3)

A=

111

123

136

>>B=magic(3)

B=

816

357

492

>>isequal(A,A)

ans=

1

>>isequal(A,B)

ans=0

3、Matlab的关系运算

Matlab有用于比较矩阵的六个关系运算符,也可以对矩阵与一个标量进行比较,即矩阵中的每个元素与标量进行比较。

关系运算符如下:

<小于、<=小于等于、>大于、>=大于等于、==等于、~=不等于。

>>1>2

ans=0

>>5<=6

ans=1

>>7~=7

ans=0

>>4==9

ans=0

>>A=rand(3)>0.7

A=

101

000

001

>>B=rand(3)<0.7

B=

111

110

010

>>A==B

ans=

101

001

100

>>A>B

ans=

000

000

001

>>A

ans=

010

110

010

3.2矩阵的代数运算

矩阵的基本运算

1加法和减法

如果矩阵A和B具有相同的维数,那么就可以定义两个矩阵的和A+B和两个矩阵的差A-B。

矩阵A±B,即对应元素运算。

在MATLAB中,一个m×n矩阵A和一个标量,即一个1×1矩阵s之间

也能进行加和减运算。

矩阵A+s与A有相同的维数,且元素为A的每个元素加s。

2乘法

如果矩阵A的列数等于矩阵B的行数,那么矩阵相乘,即C=AB,就被定义为二维矩阵。

如果不是

这种情况,MATLAB就返回一个错误信息。

只有一个例外就是这两个矩阵之一是1×1,即一个标

量,那么MATLAB是可以接受的。

在MATLAB中,乘法的运算符是*,因此,命令是C=A*B。

素cij是A的第i行和B的第j列的点积。

矩阵C有与A相同的行数和与B相同的列数。

>>A=magic(3)

A=

816

357

492

>>B=pascal(3)

B=

111

123

136

>>A+B

ans=

927

4710

5128

>>A-B

ans=

705

234

36-4

>>3+A

ans=

1149

6810

7125

>>3*A

ans=

24318

91521

12276

>>A*B

ans=

152847

153460

152843

MATLAB也包含其他乘积。

命令dot(x,y)得到具有相同元素数量的两个向量x和y的点积,也称为标量积或内积。

如果点积为零,则两个向量是正交的。

dot(x,y)得到向量x和y的点积

dot(A,B)得到一个长度为n的行向量,这里的元素是A和B对应列的点积。

矩阵A和B必须是具有相同的维数m×n。

>>x=[1234];

>>y=[1211];

>>dot(x,y)

ans=

12

>>A=magic(3)

A=

816

357

492

>>B=pascal(3)

B=

111

123

136

>>dot(A,B)

ans=153839

对于各具三个元素的两个向量x和y,命令cross(x,y)给出向量积或叉积。

cross(x,y)得到向量x和y的叉积。

cross(A,B)得到一个3×n矩阵,其中的列是A和B对应列的叉积。

矩阵A和B必须具有相同的维数

3×n。

>>x=[123];

>>y=[121];

>>cross(x,y)

ans=

-420

>>A=magic(3);

>>B=pascal(3);

>>cross(A,B)

ans=

-1-336

-46-34

5-311

3除法

在MATLAB中,有两个矩阵除法的符号,左除\和右除/。

如果A是一个非奇异方阵,那么

A\B和B/A对应A的逆与B的左乘和右乘,即分别等价于命令inv(A)*B和B*inv(A)。

如果A是一个方阵,那么X=A\B是矩阵方程AX=B的解inv(A)B,这里的X具有与B相同的维数。

在B=b

是一个列向量这样一个特殊情况下,x=A\b是线性系统AX=b的解。

如果A是一个m>n的m×n矩阵,X=A\B得到矩阵方程AX=B的最小二乘解。

矩阵方程XA=B的解是X=B/A,它等同于(A′\B′)′,即右除可以由左除定义。

这里,撇号′表示

转置。

>>A=magic(3)

A=

816

357

492

>>B=pascal(3)

B=

111

123

136

>>A\B

ans=

0.06670.05000.0972

0.06670.30000.6389

0.06670.0500-0.0694

>>A/B

ans=

27-3112

120

-1329-12

>>B\A

ans=

19-3-1

-17413

60-6

>>B/A

ans=

0.06670.06670.0667

-0.03330.4667-0.0333

-0.15281.0556-0.2361

4转置和共轭

一个重要的运算是转置和共轭转置,它在MATLAB中用′表示。

如果A是一个实数,那么它被转置时,第1行变成第1列,第2行变成第2列,依此类推,一个m×n矩阵变为一个n×m矩阵。

如果仅希望转置,在撇号之前输入一点.´,A.`´表示转置。

>>A=magic(3)

A=

816

357

492

>>B=pascal(3)

B=

111

123

136

>>A'

ans=834

159

672

>>C=A+B*i

C=

Columns1through2

8.0000+1.0000i1.0000+1.0000i

3.0000+1.0000i5.0000+2.0000i

4.0000+1.0000i9.0000+3.0000i

Column3

6.0000+1.0000i

7.0000+3.0000i

2.0000+6.0000i

>>C'

ans=

Columns1through2

8.0000-1.0000i3.0000-1.0000i

1.0000-1.0000i5.0000-2.0000i

6.0000-1.0000i7.0000-3.0000i

Column3

4.0000-1.0000i

9.0000-3.0000i

2.0000-6.0000i

>>C.'

ans=

Columns1through2

8.0000+1.0000i3.0000+1.0000i

1.0000+1.0000i5.0000+2.0000i

6.0000+1.0000i7.0000+3.0000i

Column3

4.0000+1.0000i

9.0000+3.0000i

2.0000+6.0000i

5.矩阵的乘方

对于二维方阵,A的p次乘方可以用A^p实现。

如果p是一个正整数,那么这个幂可以由许多矩阵乘法运算定义。

对于p=0,得到与A维数相同的单位矩阵;当p<0时,如果A^-1存在,可定义A^p,它是与inv(A)^(-p)相同。

>>A=magic(3)

A=816

357

492

>>A^2

ans=916767

679167

676791

>>A^0

ans=100

010

001

>>A^(-1)

ans=0.1472-0.14440.0639

-0.06110.02220.1056

-0.01940.1889-0.1028

>>inv(A)

ans=0.1472-0.14440.0639

-0.06110.02220.1056

-0.01940.1889-0.1028

6.按位操作运算‘.’

按位运算也可以元素与元素逐次进行。

矩阵的维数要相同,可以是多维的。

如果运算是由一点进行的,那么这个运算实行的是元素方式。

对于加法和减法,数组运算和矩阵运算没有差别。

运算符是:

+-.*./.\.^

>>A=magic(3)

A=816

357

492

>>B=pascal(3)

B=111

123

136

>>A.*B

ans=816

31021

42712

>>A./B

ans=8.00001.00006.0000

3.00002.50002.3333

4.00003.00000.3333

>>A.^2

ans=64136

92549

16814

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

当前位置:首页 > 解决方案 > 学习计划

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

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