Я борюсь со следующей проблемой в Matlab:
У меня есть таблица, содержащая несколько векторов столбцов: Day, Name, Result Моя цель - создать еще один вектор столбцов ( New вектор ), который показывает мне в каждой строке результат предыдущего дня для соответствующего имени.
| Day | Name | Result | New Vector |
|-----|------|--------|------------|
| 1 | A | 1.2 | 0 |
| 1 | C | 0.9 | 0 |
| 1 | B | 0.7 | 0 |
| 1 | D | 1.1 | 0 |
| 2 | B | 1 | 0.7 |
| 2 | A | 1.5 | 1.2 |
| 2 | C | 1.4 | 0.9 |
| 2 | D | 0.9 | 1.1 |
| 3 | B | 1.1 | 1 |
| 3 | C | 1.3 | 1.4 |
| 3 | A | 1 | 1.5 |
| 3 | D | 0.3 | 0.9 |
Например строка 5 :
Это день 2 и имя "B" . Вектор "РЕЗУЛЬТАТ" показывает 1.0 в той же строке, но то, что я хочу показать в моем новом векторе, является значением результата "B" из предыдущий день ( день 1 в этом примере). Так как "B" в предыдущий день можно найти в строке 3 , значение result равно 0.7 , которое должно быть показано в строка 5 моего Нового вектора.
Когда день равен 1, логическим следствием этого является отсутствие значений, поскольку предыдущего дня нет. Следовательно, я хочу показать 0 для каждой строки в День 1.
Я уже пробовал некоторые комбинации уникальных для получения индекса и некоторые предложения if, но это не сработало вообще, так как я относительно новичок в Матлаб и все еще очень растерялся.
Кто-нибудь может помочь? Большое вам спасибо !!