详解MATLAB R2018b for Mac中基本矩阵运算

三大数学软件之一,数学类科技应用软件中在数值计算方面广受好评的MATLAB R2018b for Mac应用及其广泛,现为小伙伴们带来了MATLAB R2018b for Mac中基本矩阵运算,希望能帮助到大家!

以下示例演示了以 MATLAB® 语言处理矩阵的基本方法和函数。

首先,创建一个名为 a 且包含 9 个元素的简单向量。

a = [1 2 3 4 6 4 3 4 5]

a =1×91    2    3    4    6    4    3    4    5

现在,对向量 a 中的每个元素加 2,并将结果存储在一个新向量中。

请注意 MATLAB 不需要对向量或矩阵运算进行特殊的处理。

b = a + 2

b =1×93    4    5    6    8    6    5    6    7

在 MATLAB 中创建图形就像执行一条命令一样简单。接下来用网格线来绘制向量和结果。

plot(b) grid on

扫描二维码关注公众号,回复: 6523039 查看本文章
16802903-2434e8198f398a64.png

MATLAB 也可以创建包含轴标签的其他图表类型。

bar(b) xlabel('Sample #') ylabel('Pounds')

16802903-0fc9fe36ce7728df.png

MATLAB 也可以在绘图中使用符号。下面是用星号来标记各个点的一个示例。MATLAB 提供了多种符号和线型。

plot(b,'*') axis([0 10 0 10])

16802903-fd5b5d19530d195f.png

MATLAB 擅长的一个方面是矩阵计算。

创建矩阵就像创建向量一样简单,可使用分号 (;) 分隔矩阵的各行。

A = [1 2 0; 2 5 -1; 4 10 -1]

A =3×31    2    0      2    5    -1      4    10    -1

可以很容易地计算矩阵 A 的转置。

B = A'

B =3×31    2    4      2    5    10      0    -1    -1

接下来,将这两个矩阵相乘。

同样请注意,MATLAB 不要求像处理数据集合一样处理矩阵。MATLAB 知道您正在处理矩阵并相应调整您的计算。

C = A * B

C =3×35    12    24    12    30    59    24    59  117

无需执行矩阵相乘,使用 .* 运算符即可将两个矩阵或向量的对应元素相乘。

C = A .* B

C =3×31    4    0      4    25  -10      0  -10    1

使用矩阵 A 对方程 A*x = b 求解,方法是使用 \(反斜杠)运算符。

b = [1;3;5]

b =3×11      3      5

x = A\b

x =3×11      0    -1

现在可以显示 A*x 等于 b。

r = A*x - b

r =3×10      0      0

MATLAB 拥有几乎所有用于常见矩阵计算的函数。

有用于获取特征值的函数...

eig(A)

ans =3×13.7321    0.2679    1.0000

...以及用于获取奇异值的函数。

svd(A)

ans =3×112.3171    0.5149    0.1577

“poly”函数生成特征多项式系数的向量。

矩阵 A 的特征多项式为

16802903-dee1ba28f30635b8.png

p = round(poly(A))

p =1×41    -5    5    -1

使用 roots 函数很容易确定多项式的根。

这些值实际上是原始矩阵的特征值。

roots(p)

ans =3×13.7321    1.0000    0.2679

除了矩阵计算之外,MATLAB 还有许多其他应用。

求两个向量的卷积...

q = conv(p,p)

q =1×71  -10    35  -52    35  -10    1

...或再次求卷积并绘制结果图。

r = conv(p,q)

r =1×101  -15    90  -278  480  -480  278  -90    15    -1

plot(r);

16802903-f41098f630485e1d.png

使用 who 或 whos 命令可随时获取内存中存储的变量列表。

whos           

Name      Size            Bytes  Class     Attributes

A         3x3                72  double

B         3x3                72  double

C         3x3                72  double

a         1x9                72  double

ans       3x1                24  double

b         3x1                24  double

p         1x4                32  double

q         1x7                56  double

r         1x10               80  double

x         3x1                24  double

可以通过键入特定变量的名称来获取该变量的值。

A

A =3×31    2    0      2    5    -1      4    10    -1

每行可以有一条以上的语句,使用逗号或分号分隔各个语句。

如果未指定变量来存储操作的结果,则结果将存储在名为 ans 的临时变量中。

sqrt(-1)

ans = 0.0000 + 1.0000i

正如所见,MATLAB 在计算中很容易处理复数。

猜你喜欢

转载自blog.csdn.net/weixin_34162401/article/details/90801230
今日推荐