матрица на основе вектора и диагональных элементов = 1 с использованием Matlab - PullRequest
4 голосов
/ 27 июля 2010

Как мне создать следующую матрицу

1  0  0  0  0 
k1 1  0  0  0 
k2 k1 1  0  0
k3 k2 k1 1  0
k4 k3 k2 k1 1

1 Ответ

9 голосов
/ 27 июля 2010

Использование TOEPLITZ .

Например,

vector = [1 2 3 4 5]; %# replace this with values for [1 k1 k2 k3 k4]
out = toeplitz(vector,[1 0 0 0 0])
out =
     1     0     0     0     0
     2     1     0     0     0
     3     2     1     0     0
     4     3     2     1     0
     5     4     3     2     1

РЕДАКТИРОВАТЬ

мой вектор[k1 k2 k3 k4 k5], как я могу применить tril или toeplitz?

Используя более удобную формулировку @ gnovice, вы используете

yourVector = [k1 k2 k3 k4 k5];
tril(toeplitz([1 yourVector(1:4)]))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...