Как мне создать эту матрицу с этими условиями в Matlab? - PullRequest
0 голосов
/ 13 февраля 2020

Я хотел бы создать матрицу w_prev из матрицы wt с этими условиями.

  1. wt - это 4x100 матрица.
  2. w_prev - это 1x4*N матрица с N, являющимся целым числом. Первые 4 строки w_prev - это 4 элемента в первом столбце wt, вторые 4 строки w_prev - это 4 элемента второго столбца wt et c. до целого числа N.

В этом примере N равно 3, что отлично работает. Кстати, k = 1.

w_prev=[wt(:,k);wt(:,k+1);wt(:,k+2)]

Я хотел бы запрограммировать его для обобщенного c целого числа N.

1 Ответ

1 голос
/ 13 февраля 2020

Вы можете использовать оператор двоеточия определенных столбцов матрицы. Здесь вы хотите, чтобы столбец k равнялся k + 2:

wt(:,k:k+2)

Это уже возвращает правильные элементы, но в неправильной форме. Это 4х3. Используйте reshape, чтобы преобразовать его в вектор:

reshape(wt(:,k:k+2),[],1)

Для generi c N:

reshape(wt(:,k:k+N-1),[],1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...