Filter löschen
Filter löschen

Why wont it output index?

1 Ansicht (letzte 30 Tage)
Hunter Steele
Hunter Steele am 8 Okt. 2019
function[max,index]=MyMax(x)
max=0;
[n,m]=size(x);
for i=1:m
if max<x(i)
max=x(i);
index=i;
output = [max, index];
end
end
end

Akzeptierte Antwort

Sulaymon Eshkabilov
Sulaymon Eshkabilov am 9 Okt. 2019
Hi,
You have done everything correctly except for a couple of minor flaws. Here is the corrected code:
function output = MyMax(x)
MAX=0; % It is better to avoid MATLAB's function names, such as, max, min, etc to name variables
[n, m]=size(x);
for i=1:m
if MAX<x(i)
MAX=x(i);
index=i;
output = [MAX, index];
end
end
end
This can be tested:
>> x=linspace(-pi,pi);
>> OUT = MyMax(x)
OUT =
1.0e+02 *
0.031415926535898 1.000000000000000
Note that the easy solution of your exercise is this simple command:
[MAX_VAL, INDEX] = max(x)
Good luck.
  1 Kommentar
Hunter Steele
Hunter Steele am 9 Okt. 2019
Thank you! What would i need to change to find minimum?

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Sulaymon Eshkabilov
Sulaymon Eshkabilov am 9 Okt. 2019
Bearbeitet: Sulaymon Eshkabilov am 9 Okt. 2019
Just use:
[MAX_VAL, INDEX] = min(x) % instead of max()
Good luck.
  1 Kommentar
Hunter Steele
Hunter Steele am 9 Okt. 2019
It seems to not be outputing anything.

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by