MATLAB: Returning the input value with maximum output

mathematicsmatlab functionreturn value

i want to get the input that maximize the output. how to get this value?
here is the programe code.
a=[ 1 2 3];
b=[7 4 2];
y=2.*a+5.*b; % the output should be y = [37 24 16]
ymax=max(y); %37 where the value a=1,b=7
so, what function can i use to return the value a=1 and b=7?

Best Answer

There are several choices to find minimum/maximum values. You can take a look at the built-in function fmincon for example. In your case, if the data you present is the data, you can do something like this:
% find the maximum value in the output array:
[y_max max_indes] = max(y);
a_max = a(max_index); % get the corresponding value from the _a_ array
b_max = b(max_index); % get the corresponding value from the _b_ array