首先,以元素列表的形式输入矩阵。您只需遵循一些基本约定:
• 使用空格或逗号分隔行的元素。
• 使用分号 ; 表示每行末尾。
• 使用方括号 [ ] 将整个元素列表括起来。
要输入丢勒矩阵,只需在命令行窗口中键入即可
A = [16 3 2 13; 5 10 11 8; 9 6 7 12; 4 15 14 1]
MATLAB 显示刚才您输入的矩阵:
A =
16 3 2 13
5 10 11 8
9 6 7 12
4 15 14 1
输入矩阵之后,MATLAB 工作区会自动记住此矩阵。您可以将其简称为 A。
sum(A)
MATLAB 返回的结果为
ans =
34 34 34 34
如果未指定输出变量,MATLAB 将使用变量 ans(answer 的缩略形式)来存储计算结果。您已经计算包含 A 的列总和的行向量。每个列的总和都相同,即幻数和 34。
行总和如何处理?MATLAB 会优先处理矩阵的列,因此获取行总和的一种方法是转置矩阵,计算转置的列总和,然后转置结果。
MATLAB 具有两个转置运算符。撇号运算符(例如,A')执行复共轭转置。它会围绕主对角线翻转矩阵,并且还会更改矩阵的任何复数元素的虚部符号。点撇号运算符 (A.') 转置矩阵,但不会影响复数元素的符号。对于包含所有实数元素的矩阵,这两个运算符返回相同结果。
因此
A'
生成
ans =
16 5 9 4
3 10 6 15
2 11 7 14
13 8 12 1
而
sum(A')'
生成包含行总和的列向量
ans =
34
34
34
34
数组在MATLAB中叫做向量更合适
MATLAB® 中的每个变量都是一个可包含许多数字的数组。如果要访问数组的选定元素,请使用索引。
以 4×4 幻方矩阵 A 为例:
A = magic(4)
A = 4×4
16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1
引用数组中的特定元素有两种方法。最常见的方法是指定行和列下标,例如
A(4,2)
ans = 14
另一种方法不太常用,但有时非常有用,即使用单一下标按顺序向下遍历每一列:
A(8)
ans = 14
使用单一下标引用数组中特定元素的方法称为线性索引。
如果尝试在赋值语句右侧引用数组外部元素,MATLAB 会引发错误。
test = A(4,5)
Index exceeds matrix dimensions.
不过,您可以在赋值语句左侧指定当前维外部的元素。数组大小会增大以便容纳新元素。
A(4,5) = 17
A = 4×5
16 2 3 13 0
5 11 10 8 0
9 7 6 12 0
4 14 15 1 17
要引用多个数组元素,请使用冒号运算符,这使您可以指定一个格式为 start:end 的范围。例如,列出 A
前三行及第二列中的元素:
A(1:3,2)
ans = 3×1
2
11
7
单独的冒号(没有起始值或结束值)指定该维中的所有元素。例如,选择 A 第三行中的所有列:
A(3,:)
ans = 1×5
9 7 6 12 0
此外,冒号运算符还允许您使用较通用的格式 start:step:end 创建等距向量值。
B = 0:10:100
B = 1×11
0 10 20 30 40 50 60 70 80 90 100
如果省略中间的步骤(如 start:end 中),MATLAB 会使用默认步长值 1。
*
和.*
的联系和区别 1,在进行数值运行和数值乘矩阵,这两种没有区别, 例如:a*b=a.*b; a*B=a.*B; B*a=B.*a
(其中小写字母表示数值,大写字母表示矩阵,下同)。
2,在处理矩阵乘矩阵时,*
表示普通的矩阵乘法,要求前面矩阵的列数等于后面矩阵的行数;.*
表示两个矩阵对应元素相乘,要求两个矩阵行数列数都相等。例如:
>> [1,2,3]*[1,2;3,4;5,6] % 矩阵乘法ans = 22 28>> [1,2,3].*[4,5,6] % 矩阵点乘ans = 4 10 18
/
和./
的联系和区别 1,数值运行时,这两种没有区别,例如:a/b=a./b
2,数值与矩阵运行时,要分数值在前还是在后。
(1),数值在前,只能用./
(2),数值在后,这两种一样:A/b=A./b
3,矩阵除矩阵,A/B
可粗略地看作A*inv(B)
(强烈不建议进行求逆运算);A./B
表示 A 矩阵与 B 矩阵对应元素相除,所以要求 A,B 行数列数相等。例如:
>> [4,5]/[1,2;3,4] % 矩阵除法ans = -0.5000 1.5000>> [4,5,6]./[1,2,3] % 矩阵点除ans = 4.0000 2.5000 2.0000
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删