1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > matlab的矩阵运算 MATLAB的矩阵运算

matlab的矩阵运算 MATLAB的矩阵运算

时间:2020-07-12 06:30:47

相关推荐

matlab的矩阵运算 MATLAB的矩阵运算

??MATLAB是基于矩阵和数组计算的,可以直接对矩阵和数组进行整体的操作,MATLAB有三种矩阵运算类型:矩阵的代数运算、矩阵的关系运算和矩阵的逻辑运算。其中,矩阵的代数运算应用最广泛。本文主要讲述矩阵的基本操作,涉及矩阵的创建、矩阵的代数运算、关系运算和逻辑运算等基本知识。

矩阵的创建

直接输入法创建矩阵

% 1. 直接输入法创建矩阵

>> A = [1,2,3; 4,5,6; 7,8,9]

A =

1 2 3

4 5 6

7 8 9

函数法创建矩阵

简单矩阵

% 2. 函数法创建矩阵

>> zeros(3)

% 生成3x3的全零矩阵

ans =

0 0 0

0 0 0

0 0 0

>> zeros(3,2)

% 生成3x2的全零矩阵

ans =

0 0

0 0

0 0

>> eye(3)

% 生成单位矩阵

ans =

1 0 0

0 1 0

0 0 1

>> ones(3)

% 生成全1矩阵

ans =

1 1 1

1 1 1

1 1 1

>> magic(3)

% 生成3x3的魔方阵

ans =

8 1 6

3 5 7

4 9 2

>> diag(1:3)

% 对角矩阵

ans =

1 0 0

0 2 0

0 0 3

>> diag(1:5,1)

% 对角线向上移1位矩阵

ans =

0 1 0 0 0 0

0 0 2 0 0 0

0 0 0 3 0 0

0 0 0 0 4 0

0 0 0 0 0 5

0 0 0 0 0 0

>> diag(1:5,-1)

% 对角线向下移1位矩阵

ans =

0 0 0 0 0 0

1 0 0 0 0 0

0 2 0 0 0 0

0 0 3 0 0 0

0 0 0 4 0 0

0 0 0 0 5 0

>> triu(ones(3,3))

% 上三角矩阵

ans =

1 1 1

0 1 1

0 0 1

>> tril(ones(3,3))

% 下三角矩阵

ans =

1 0 0

1 1 0

1 1 1

随机矩阵

>> rand(3)

% 生成随机矩阵

ans =

0.2898 0.8637 0.0562

0.4357 0.8921 0.1458

0.3234 0.0167 0.7216

>> rand(‘state‘,0); % 设定种子数,产生特定种子数下相同的随机数

>> rand(3)

ans =

0.9501 0.4860 0.4565

0.2311 0.8913 0.0185

0.6068 0.7621 0.8214

>> a = 1; b = 100;

>> x = a + (b-a)* rand(3)

% 产生区间(1,100)内的随机数

x =

38.2127 20.7575 91.1133

89.9610 31.0064 53.0040

43.4711 54.2917 31.3762

>> a = 1; b = 100;

>> a + fix(b * rand(1,50))

% 产生50个[1,100]内的随机正整数

ans =

列 1 至 15

4 72 77 6 63 27 32 53 41 90 58 57 40 70 57

列 16 至 30

35 60 28 5 84 11 73 45 100 57 47 42 22 24 32

列 31 至 45

87 26 97 31 38 35 71 62 76 80 22 90 90 94 28

列 46 至 50

48 26 37 53 39

相似函数扩展

>> randn(3)

% 生成均值为0,方差为1的正太分布随机数矩阵

ans =

-0.4326 0.2877 1.1892

-1.6656 -1.1465 -0.0376

0.1253 1.1909 0.3273

>> randperm(10)

% 生成1-10之间随机分布10个正整数

ans =

4 9 10 2 5 8 1 3 7 6

% 多项式x^3 - 7x + 6 的伴随矩阵

>> u = [1,0,-7,6];

>> A = compan(u)

% 生成伴随矩阵

A =

0 7 -6

1 0 0

0 1 0

>> eig(A) % 此处eig()函数用于求特征值

% 利用伴随矩阵求得方程的根

ans =

-3.0000

2.0000

1.0000

矩阵的运算

矩阵的代数运算

矩阵的算术运算

>> A = [1,1;2,2];

>> B = [1,1;2,2];

>> A

A =

1 1

2 2

>> B

B =

1 1

2 2

>> A + B

ans =

2 2

4 4

>> B-A

ans =

0 0

0 0

>> A * B

ans =

3 3

6 6

>> A^2

ans =

3 3

6 6

>> A^3

ans =

9 9

18 18

矩阵的运算函数

>> C = magic(3)

C =

8 1 6

3 5 7

4 9 2

>> size(C)

ans =

3 3

>> length(C)

ans =

3

>> sum(C)

ans =

15 15 15

>> max(C)

ans =

8 9 7

>> C‘

ans =

8 3 4

1 5 9

6 7 2

>> inv(C)

ans =

0.1472 -0.1444 0.0639

-0.0611 0.0222 0.1056

-0.0194 0.1889 -0.1028

矩阵的元素群运算

元素群运算,是指矩阵中的所有元素按单个元素进行运算,也即是对应位置进行运算。

>> A = [1,2;3,4];

>> B = [1,2;3,4];

>> A .* B

ans =

1 4

9 16

>> A ./ B

ans =

1 1

1 1

>> A .\ B

ans =

1 1

1 1

>> A .^ B

ans =

1 4

27 256

矩阵元素群的运算函数

MATLAB提供了几乎所有初等函数,包括三角函数、对数函数、指数函数和复数运算函数等。大部分的MATLAB函数运算都是分别作用于函数变量(矩阵)的每一个元素。

>> x = [0, pi/6, pi/4, pi/3];

>> y = tan(x)

y =

0 0.5774 1.0000 1.7321

>> y = sin(x)

y =

0 0.5000 0.7071 0.8660

矩阵的关系运算

在使用关系运算时,首先应保证两个矩阵的维数相等或至少一个为标量。若参与运算的对象为两个矩阵,则关系运算对两个矩阵的对应元素进行关系比较,若关系满足,则将结果矩阵中该位置的元素置1,否则置0。若参与运算的对象之一为标量,则关系运算将矩阵的每一个元素与该标量逐一进行关系比较,若关系满足,则将结果矩阵中该位置的元素置1,否则置0。

>> A = [1,1;1,1];

>> B = [0,1;2,3];

>> A > B

ans =

2×2 logical 数组

1 0

0 0

>> A >= B

ans =

2×2 logical 数组

1 1

0 0

>> A == B

ans =

2×2 logical 数组

0 1

0 0

>> A ~= B

ans =

2×2 logical 数组

1 0

1 1

矩阵的逻辑运算

逻辑运算中,所有非零元素的逻辑值为“真”,用代码“1”表示;值为零的元素的逻辑值为“假”,用代码“0”表示。逻辑运算规则与关系运算基本一致,也是针对两个矩阵的对应元素。

>> A & B

ans =

2×2 logical 数组

0 1

1 1

>> A | B

ans =

2×2 logical 数组

1 1

1 1

>> ~ A

ans =

2×2 logical 数组

0 0

0 0

>> ~B

ans =

2×2 logical 数组

1 0

0 0

原文:/sinlearn/p/12842162.html

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。