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

 Akzeptierte Antwort

Voss
Voss am 25 Feb. 2024

0 Stimmen

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 Kommentare

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')
Khoi
Khoi am 25 Feb. 2024
Thank you Voss
Voss
Voss am 25 Feb. 2024
You're welcome! Any questions, let me know. Otherwise, please "Accept" this answer. Thanks!
Khoi
Khoi am 26 Feb. 2024
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)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Tags

Gefragt:

am 25 Feb. 2024

Kommentiert:

am 26 Feb. 2024

Community Treasure Hunt

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

Start Hunting!

Translated by