Вычтите значения в том же столбце из n строк в Matlab - PullRequest
0 голосов
/ 28 марта 2012

У меня есть один столбец матрицы с n строк.Я хочу разницу между строкой 2 и строкой 1, затем строкой 3 из строки 2 и так далее.У меня должна быть новая матрица с n-1 строками.Я использую Matlab.

    513083
    513386
    513662
    513939
    514213
    514471
    514727
    514979
    515225

Я пробовал это: for x = 1:(numel(maxtab(:,1))-1) difference = maxtab(x+1,1) - maxtab(x,1); end, но я не получаю матрицу.Я хочу избежать петель, потому что они замедляют процесс.Какие-либо предложения.Я пытаюсь покончить с Excel из-за его ограничений на строки.

Ответы [ 3 ]

1 голос
/ 28 марта 2012

Я не совсем понимаю, что вы ищете, но похоже, что diff может помочь:

 mat = [513083
    513386
    513662
    513939
    514213
    514471
    514727
    514979
    515225];
K>> diff(mat)

ans =

   303
   276
   277
   274
   258
   256
   252
   246
1 голос
/ 28 марта 2012

Использование diff().

0 голосов
/ 01 августа 2013

Хотя diff является вашим естественным выбором для этой задачи, вы также можете сделать это «вручную»

>> difference = maxtab(2:end) - maxtab(1:end-1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...