why is my plot not showing?
3 次查看(过去 30 天)
显示 更早的评论
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);
0 个评论
采纳的回答
Walter Roberson
2018-2-13
i = i+1;
error_delta(i) = abs(root_delta - x);
semilogy(1:i,error_delta);
drawnow()
更多回答(1 个)
Image Analyst
2018-2-13
You need to index x and y. You're just overwriting the same scalar values so there is never an array to plot.
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!