offsetConstants = [aj(1); cj(end)];
Создать вектор offsetConstants
из 2 терминов.Один - первый член в aj
, а второй - последний член в cj
.Вы абсолютно правы в этом.
for i = N:-1:1
Обратный стиль выглядит так, как будто вы хотите вернуть столбцы в price
.Но будьте осторожны с диапазоном.i+1
поднимается до N+1
, и я предполагаю, что матрица price
имеет столько столбцов.
price(2:end-1,i) = A*price(2:end-1,i+1);
Вы начинаете со столбца N+1
, берете весь столбец за исключением первого и последнего слагаемых и умножаете на A
, A
либо на скаляр, либо на матрицу (N+1)x(N+1)
.Затем вы сохраняете продукт в столбце N
.
price([2 end-1],i) = price([2 end-1],i) + ...
offsetConstants.*price([1 end],i+1);
Наконец, вы берете первый и последний члены N+1
-ого столбца, поэлементно умножаете его на offsetConstants
и добавляете к второй и второй-последний условия.
Повторяйте эту процедуру, пока не возьмете столбец № 2 и не вернете его в столбец № 1.
Примечание: price([2 end-1],i)
эквивалентно [price(2,i),price(end-1,i)]
, что НЕ price(2:end-1,i)
.