MATLAB: How to combine a while loop and a for loop on one graph

for loopwhile loop

the while loop is set up as such
fig=figure(1);
x(1)=0;
fx(1) = 0;
index = 2;
while (x<20) & index < 1000
x(index)=x(index-1)+1
fx(index)= x(index)^3 - (5*x(index))^2 + 2^(x(index)) - 10000.*x(index);
clf;
grid on;
hold on;
xlabel('x', 'FontSize', 10);
ylabel('fx', 'FontSize', 10);
title('While Loop', 'FontSize',10);
p = plot(x, fx, 'ro-', 'LineWidth',2, 'MarkerSize', 10);
index = index + 1;
end
set(gcf, 'Units', 'Normalized', 'OuterPosition', [0 0 1 1])
and the for loop set up as such
fig=figure(1);
x(1)=0;
fx(1) = -3;
index = 2;
for index = 2 : 100000
x(index)=x(index-1)+0.5
fx(index)= 20000*log(x(index))-3*x(index);
clf;
grid on;
hold on;
xlabel('x', 'FontSize', 10);
ylabel('fx', 'FontSize', 10);
title('For Loop', 'FontSize', 10);
p = plot(x, fx, 'bo-', 'LineWidth',4, 'MarkerSize', 10);
% Exit loop if x >= 20
if x(index) >= 20
break;
end
end
% Enlarge figure to full screen.
set(gcf, 'Units', 'Normalized', 'OuterPosition', [0 0 1 1]);
If anyone would be willing to help me find how to place both on one graph I would greatly appreciate it!
The while loop function is f(x) = x^3 – (5*x)^2 + 2^(x) – 10000.*x 0<x<20
The for loop function is f(x) = 20000*log(x) – 3*x 1<x<20

Best Answer

Try 3*x(index) instead of 3*x.
Related Question