Как создать треугольную матрицу на основе вектора в MATLAB?

4

matlab,matrix,triangular,

MATLAB, матрица, треугольные,

Ответов: 11


25 ов принято

vec = 101:105; A = full(spdiags(repmat(vec,5,1),0:4,5,5)); % The second matrix B = fliplr(full(spdiags(repmat(fliplr(vec),5,1),0:4,5,5))); % The first matrix вы получите первую матрицу

A вы получите второй.

--Loren


3

Лучшие решения перечислены Лореном . Также возможно создать эти матрицы с помощью SPDIAGS :

B

Я вспоминаю создание полосатых матриц, подобных этому, прежде чем я узнал о некоторых встроенных функциях, о которых говорил Лорен. Это не так просто и чисто, как с ними, но это сработало. знак равно


2

То, как я это сделаю, - создать матрицу A:

101 102 103 104 105
101 102 103 104 105
101 102 103 104 105
101 102 103 104 105
101 102 103 104 105

А затем найдите матрицу B, чтобы при умножении A*Bвы получите нужный результат. В основном сначала выполняем линейную алгебру на бумаге, а затем вычисляем Matlab.


2

Для создания таких треугольных матриц с такой регулярной структурой используйте функцию теплица, например

m=toeplitz([1,0,0,0],[1,2,3,4])

для другого случая, используйте rot90(m)

MATLAB, матрица, треугольные,
Похожие вопросы