Как объединить второй вектор с первым, но из предопределенной другой позиции, а не из продолжения? - PullRequest
0 голосов
/ 10 апреля 2019

Предположим, я инициализировал два вектора,

x=[1 2 3 4 5]';
y=[6 7 8 9 10]';

оба представляют матрицу столбца или вектор. Теперь,

z=[x;y];

Вектор z будет представлять собой комбинацию двух в аналогичном формате столбца. Вектор y будет продолжением к вектору x этим методом.

Но какой должен быть подход, если бы я хотел, чтобы y был в продолжении с определенной заданной позиции, оставляя оставшиеся значения между ними пустыми. Например, я хочу, чтобы продолжение y с 8-й позиции получило вывод z в виде: -

1
2
3
4
5
NaN
NaN
6
7
8
9
10

1 Ответ

2 голосов
/ 10 апреля 2019

Просто посчитайте, сколько заготовок (NaN) вам нужно, используя нужную позицию и количество элементов x, и соберите ваш вывод z:

% Input
x = [1 2 3 4 5]'
y = [6 7 8 9 10]'

% Position
pos = 8;

% Add some code for checking numel(x) >= pos here...

% Output
z = [x; NaN(pos-numel(x)-1, 1); y]

x =
   1
   2
   3
   4
   5

y =
    6
    7
    8
    9
   10

z =
     1
     2
     3
     4
     5
   NaN
   NaN
     6
     7
     8
     9
    10

Мех, после некоторого редактирования я понял, что комментария было бы достаточно ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...