Info
Diese Frage ist geschlossen. Öffnen Sie sie erneut, um sie zu bearbeiten oder zu beantworten.
How to display my answer with out rewriting them?
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hello all,
I have my code below that finds the min_max of my function.
I would like for it to displapy all the min_max.
When i run the code it only does the last min_max.
How would I stop it from overwiting the previous min_max?
x = 0:0.1:10;
y = x.^(101/100)+4*cos((3*pi*x)/4)-2*sin((2*pi*x)/3)-0.25;
function minmax_ind = min_max(y)
for i = 2:(length(y)-1)
if (y(i-1) > y(i)) && (y(i+1) > y(i)) % if this is true, we have found a local minimum
minmax_ind = i;
elseif (y(i-1) < y(i)) && (y(i+1) < y(i)) % if this is true, we have found a local maximum
minmax_ind = i;
end
end
end
Thank you,
Nick
0 Kommentare
Antworten (1)
Robin Kirsch
am 18 Okt. 2020
Bearbeitet: Robin Kirsch
am 18 Okt. 2020
You are overwriting minmax_ind every time. If you find a local max, you will overwrite it if you find another one. I hope this is what you meant, I did not test the function due to it being correct by finding the min and max of the array.
You can fix this if u add another variable just like this
function minmax_ind = min_max(y)
j = 1;
for i = 2:(length(y)-1)
if (y(i-1) > y(i)) && (y(i+1) > y(i)) % if this is true, we have found a local minimum
minmax_ind(j) = i;
j = j +1;
elseif (y(i-1) < y(i)) && (y(i+1) < y(i)) % if this is true, we have found a local maximum
minmax_ind(j) = i;
j = j +1;
end
end
end
1 Kommentar
Diese Frage ist geschlossen.
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!