why is my plot not showing?

1 Ansicht (letzte 30 Tage)
Luis Garcia
Luis Garcia am 13 Feb. 2018
Kommentiert: Luis Garcia am 13 Feb. 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);

Akzeptierte Antwort

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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Image Analyst
Image Analyst am 13 Feb. 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 Kommentar
Luis Garcia
Luis Garcia am 13 Feb. 2018
so error_delta = 0; but x is the i(for this plot), and I taught i was index at 0 already.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Graphics Performance finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by