Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function Jacc=ieqprime(k,R_data);
- %
- % "Распаковываем" R_data
- %
- t=R_data.t; T=R_data.T; alpha=R_data.alpha; beta=R_data.beta;
- %
- % Создаем "смещенный" на один элемент назад вектор k:
- % k(i) = k_disp(i+1)
- % Обрежем последний элемент за ненадобностью и чтобы не мешал увеличенной
- % размерностью вектора
- %
- k_disp = [0; k];
- k_disp = k_disp(1:T+2);
- %
- % Создадим якобиан и поначалу заполним его целиком по общему правилу
- % (помним про особенности нумерации).
- % Поправки на краях матрицы будут применены позднее
- %
- l_diagn = alpha^2*beta*(k.^(alpha-1)).*(k_disp.^(alpha-1));
- m_diagn = alpha*(alpha-1)*beta*(k.^(alpha-2)).*(k_disp.^alpha) - ...
- (alpha^2*beta + alpha)*(k.^(alpha-1));
- u_diagn = ones(T+2, 1);
- Jacc = spdiags([l_diagn m_diagn u_diagn], -1:1, T+2, T+2);
- %
- % В начале нумерации поправки не требуются. Функция F_{T+1} равна постоянно
- % нулю; следовательно, то же касается и ее производных.
- %
- Jacc(T+2,:) = zeros(1,T+2);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement