在 MATLAB 中从向量创建对称矩阵
Create a Symmetric Matrix from a vector in MATLAB
如何在 MATLAB 中将向量 A 转换为对称矩阵 M
使得M为对称矩阵(即A21=A12)且所有对角线项都相等(即A11=A22=A33=A44)。
使用hankel
帮助您创建对称矩阵,然后当您完成后,将此中间结果的对角线项设置为A
中向量的第一个元素:
M = hankel(A,A(end:-1:1));
M(eye(numel(A))==1) = A(1);
示例
>> A = [1;2;3;4]
A =
1
2
3
4
>> M = hankel(A,A(end:-1:1));
>> M(eye(numel(A))==1) = A(1)
M =
1 2 3 4
2 1 4 3
3 4 1 2
4 3 2 1
如您所见,M(i,j) = M(j,i)
除了对角线,每个元素都等于 A(1)
。
如何在 MATLAB 中将向量 A 转换为对称矩阵 M
使得M为对称矩阵(即A21=A12)且所有对角线项都相等(即A11=A22=A33=A44)。
使用hankel
帮助您创建对称矩阵,然后当您完成后,将此中间结果的对角线项设置为A
中向量的第一个元素:
M = hankel(A,A(end:-1:1));
M(eye(numel(A))==1) = A(1);
示例
>> A = [1;2;3;4]
A =
1
2
3
4
>> M = hankel(A,A(end:-1:1));
>> M(eye(numel(A))==1) = A(1)
M =
1 2 3 4
2 1 4 3
3 4 1 2
4 3 2 1
如您所见,M(i,j) = M(j,i)
除了对角线,每个元素都等于 A(1)
。