Я пытаюсь создать рисунок, показывающий решение, которое я получил путем итерации Якоби, вместе с истинным решением, а также ошибку решения Якоби.
Фигура, которую я пытаюсь создать, должна состоять из двух графиков.
Я использовал команду subplot, чтобы разбить фигуру на верхнюю и нижнюю оси, и я написал цикл for, который вычисляетитерации Якоби и ошибка.Цикл будет повторяться 400 раз, используя x0 в качестве начального предположения.Перед этим я вычислил истинное решение для системы Ax = b.
N = 30;
iter = 400;
A = toeplitz([-2 1 zeros(1, N-2)], [-2 1 zeros(1, N-2)]);
bk = ones(N,1);
for jj = 1:N
bk(jj) = cos(5*jj) + (1/2)*sin(7*jj);
end
x = A\bk;
D = diag(diag(A));
T = A - D;
x0 = zeros(N,1);
error = zeros(iter,1);
M = -D\T;
g = D\bk;
for nn = 1:iter
x0 = M*x0 + g;
error(nn) = norm(x - x0,2);
end
subplot(2,1,1)
plot(x0(1:N,1),'ro');
ylabel('Solution','FontSize',22);
title('Solution by Jacobi Iteration','FontSize',22);
xlim([0 pi]);
ylim([-5 5]);
xticks(0:0.5:3);
yticks(-5:5:5);
subplot(2,1,2)
plot(error(1:N),'ro')
ylabel('Error','FontSize',22);
xlabel('t','FontSize',22);
xlim([0 pi]);
ylim([0 0.1]);
xticks(0:0.5:3);
yticks(0:0.05:0.1);
. В верхнем окне должно отображаться истинное решение в красных кружках, соединенных сплошными линиями.Нижнее окно показывает ошибку в виде красных кружков, соединенных пунктирными линиями.Когда я запустил свой код, в верхнем окне появилось только 3 красных кружка, а в нижнем окне ничего не отображалось.Я все еще плохо строю итерации цикла.Может ли кто-нибудь помочь мне с построением вычисленных мной решений и ошибок?