如何将矢量转换为矩阵?

时间:2017-11-26 15:59:12

标签: matlab matrix vector

我有一个矢量j

j = [3 4 5 6 7]

我需要获得一个包含对角线1的对称矩阵,分布向量j,如下例所示:

ans =

 1     3     4     5     6     7
 3     1     3     4     5     6
 4     3     1     3     4     5
 5     4     3     1     3     4
 6     5     4     3     1     3
 7     6     5     4     3     1

2 个答案:

答案 0 :(得分:2)

那是toeplitz的用途:

>> toeplitz( [1 j] )
ans =
     1     3     4     5     6     7
     3     1     3     4     5     6
     4     3     1     3     4     5
     5     4     3     1     3     4
     6     5     4     3     1     3
     7     6     5     4     3     1

答案 1 :(得分:0)

clc; close all; clear all;
X = [1, 3, 4, 5, 6, 7]; % The given vector 
A(1, :)= X;
for n = 2:length(X)   
    temp = circshift(A(n - 1, :), 1);    
    A(n, :) = [X(n), temp(2:end)];    
end
disp(A);