why is my plot not showing?

2 vues (au cours des 30 derniers jours)
Luis Garcia
Luis Garcia le 13 Fév 2018
Commenté : Luis Garcia le 13 Fév 2018
Im trying to plot iteration on the x-axis vs error_delta on the y-axis, but nothing shows, they are inside the while loop.
%root for f(x) = cos(x)
paso = 0.5e-10;
N = 100;
x= 1.0; %initial guess.
i = 0;
eps = 1;
root_delta = 4.6;
figure(1);
hold on;
while eps >= paso && i <= N
y = x - (cos(x)/(-sin(x)));
eps = abs(y-x);
x= y;
error_delta = abs(root_delta - x);
i = i+1;
disp(' root iteration');
disp([x',i',error_delta']);
semilogy(i,error_delta);
xlabel('iterations');
ylabel('error Delta');
end
disp(y);
disp(i);

Réponse acceptée

Walter Roberson
Walter Roberson le 13 Fév 2018
i = i+1;
error_delta(i) = abs(root_delta - x);
semilogy(1:i,error_delta);
drawnow()
  1 commentaire
Luis Garcia
Luis Garcia le 13 Fév 2018
Thank you so much! I gladly appreciate it.

Connectez-vous pour commenter.

Plus de réponses (1)

Image Analyst
Image Analyst le 13 Fév 2018
You need to index x and y. You're just overwriting the same scalar values so there is never an array to plot.
  1 commentaire
Luis Garcia
Luis Garcia le 13 Fév 2018
so error_delta = 0; but x is the i(for this plot), and I taught i was index at 0 already.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Graphics Objects dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by