How to use a for loop to solve a function?
Show older comments
Not sure where I'm going wrong. While loop works correctly, but not sure what's happening with the for loop.
x=linspace(0,20,20);
a=0;
while(a<=20)
y=x.^6-(3.*x).^2+3.^x-(230.*x);
a=a+1;
end
for j=1:20
y2(j)=100.*3log(j)-(2.*j);
end
When plotting, the while loop plots how it should, but nothing shows up for the for loop. Any guidance welcome. Thank you!
Answers (1)
Ameer Hamza
on 13 Sep 2020
In your code, the while loop has no use. I think you wanted to write it like this
while(a<=20)
y(a)=x(a).^6-(3.*x(a)).^2+3.^x(a)-(230.*x(a));
a=a+1;
end
The for loop seems fine except there is a typing error. Following should work fine and you can plot the output
for j=1:20
y2(j)=100.*3*log(j)-(2.*j);
end
2 Comments
Jer D
on 13 Sep 2020
Ameer Hamza
on 14 Sep 2020
Edited: Ameer Hamza
on 14 Sep 2020
They are both visible, but y2 have very small values as compared to y, so it is on lower part axes (see the orange line on x-axes
x=linspace(0,20,20);
a=1;
while(a<=20)
y(a) = x(a).^6-(3.*x(a)).^2+3.^x(a)-(230.*x(a));
a=a+1;
end
for j=1:20
y2(j) = 100.*3*log(j)-(2.*j);
end
f = figure();
hold on;
plot(y);
plot(y2);

Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!