求和、转置和对角线
优质
小牛编辑
133浏览
2023-12-01
可能聪明的你已经发现了魔方矩阵各行或列数字相加后的奇妙属性,无论是各行相加,还是各列相加,还是两条对角线的数字相加,都得到同一个结果。下面让我们用MATLAB来证实这一结论。首先试着输入
sum(A)
MATLAB显示
ans = 34 34 34 34
如果你没有指定变量,MATLAB就会用变量ans(answer的缩写),来储存计算的结果。这里显示的是一个行向量,它的每一个元素是矩阵A相应列的元素的和。很明显,每一列的数字加起来的结果都是同一个数字,34。
如果每一行加起来又会怎样呢?由于MATLAB自带了计算矩阵列元素和的函数,所以最简单的计算行元素和的方法就是求原矩阵的转置的列元素和。一个矩阵的转置可以用在矩阵名后面加一个'''来表示。例如输入
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
对角线元素由diag函数很容易就被列出来
diag(A)
结果显示:
ans = 16 10 7 1
如果输入
sum(diag(A))
结果显示
ans = 34
另外的对角线,即所谓的反对角线,在数学上就不是那么重要的了。所以MATLAB就没有 相应的函数。但在图形函数中,函数fliplr产生一个左右调转的矩阵
sum(diag(fliplr(A))) ans = 34
你已经证明了在杜勒的木板图中的矩阵的确是一个魔术方阵,在证明过程中举了一些用MATLAB作矩阵运算的例子。以下的章节将用此矩阵继续介绍MATLAB的其他功能。