How do I use for loop to graph this

I'm trying to recreate the graph above using for loop code.
I got the outline done but don't know how to plot the lines inside the curve. The for loop below is incorrect. Could anyone come up with the correct for loop for this?
hold on
plot([1,0,0,1,1],[0,0,1,1,0],'g')
x = 0:0.025:1;
y = (1. - sqrt(x)).^2;
for n=1:40
plot([n/40,0],[0,n/40],k)
end

 Accepted Answer

hold on
x = 0:0.025:1;
y = flip(x);
for n=1:numel(x)
plot([x(n),0],[0,y(n)],'k')
end
plot([1,0,0,1,1],[0,0,1,1,0],'g')

5 Comments

Or without the for loop:
hold on
x = 0:0.025:1;
x(2,:) = 0;
y = flip(flip(x,2),1);
% y = x(end:-1:1,end:-1:1); % alternative to flip(flip(_))
plot(x,y,'k');
plot([1,0,0,1,1],[0,0,1,1,0],'g')
Thank you Voss
You're welcome! Any questions, let me know. Otherwise, please "Accept" this answer. Thanks!
is there any way for me to keep this line of code and add on to it using for loop?
hold on
plot([1,0,0,1,1],[0,0,1,1,0],'g')
x = 0:0.025:1;
y = (1. - sqrt(x)).^2;
I'm not sure what you mean, but you can plot that x and y after the other stuff, sure.
hold on
x = 0:0.025:1;
y = flip(x);
for n=1:numel(x)
plot([x(n),0],[0,y(n)],'k')
end
plot([1,0,0,1,1],[0,0,1,1,0],'g')
y = (1. - sqrt(x)).^2;
plot(x,y,'LineWidth',4)

Sign in to comment.

More Answers (0)

Tags

Asked:

on 25 Feb 2024

Commented:

on 26 Feb 2024

Community Treasure Hunt

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

Start Hunting!