Я пытаюсь написать рекурсивный многосеточный алгоритм в MATLAB.
Мне нужно хранить значения v и TC на каждом из уровней, которые я собираюсь использовать, когда я больше не в рекурсии, просто вызывая их, аналогичным образом v {L}работал бы, например, если бы я сделал цикл for.
Любая помощь очень ценится.Спасибо.
function x = vcycle1d(n, x, b, T, w, levels)
x = damped_jacobiM(w, x, T, b, 10^-7, 3);
res = b - T*x;
k = log2(n+1);
N = 2^(k-1)-1;
RE = zeros(N,n);
for i = 1:N
RE(i,2*i-1:2*i+1) = [1 2 1];
end
RE = RE/4;
II = 2*RE';
TC = RE * T * II;
v = zeros(N, 1);
for i = 1:N
v(i) = (res(2*i-1) + 2*res(2*i) + res(2*i+1))/4;
end
if levels ~= 1
err= vcycle1d(N, zeros(length(v), 1), v, TC, w, levels-1);
else
err = TC\v;
end