Как тайному вектор А для симметричной матрицы М в MATLABСоздание симметричной матрицы из вектора в MATLAB
Такое, что M является симметричной матрицей (т.е. A21 = A12) и все диагональные члены равны (т. е. A11 = A22 = A33 = A44).
Как тайному вектор А для симметричной матрицы М в MATLABСоздание симметричной матрицы из вектора в MATLAB
Такое, что 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)
.
Здесь мы не поддерживаем LaTeX. Пожалуйста, используйте синтаксис кодирования. Кроме того, я не вижу, как перейти от 'A' к' M'. Каково общее правило строительства? Что происходит, когда вы расширяете это за пределами 4 элементов в векторе? – rayryeng
См. Пересмотренный вопрос – BERKO
Это лучше. Благодарю. Я снова открываю, так как это не дубликат использования 'toeplitz'. – rayryeng