Borrar filtros
Borrar filtros

How can I know what element a value came from in a vector?

1 visualización (últimos 30 días)
I just started using Matlab. I found my minimum value of a given vector, but I need to know what the corresponding value is in another vector. Is there a way to know where the exact element is?
I need to know my "r" value for the cheapest.
v=600;
r=[1:.1:100];
h=(v-2.*pi.*((r.^3)./3))./(pi.*r.^2);
cost=(400.*(2.*pi.*r.*h))+(600.*(2.*pi.*r.^2));
cheapest=min(cost)
cheapest =
1.4825e+005

Respuesta aceptada

Walter Roberson
Walter Roberson el 22 de Feb. de 2011
[cheapest, cheapidx] = min(cost);

Más respuestas (2)

Oleg Komarov
Oleg Komarov el 22 de Feb. de 2011
Use the second output of min:
[cheapest, pos] = min(cost);
r(pos)
Oleg

Paulo Silva
Paulo Silva el 22 de Feb. de 2011
v=600;
r=[1:.1:100];
h=(v-2.*pi.*((r.^3)./3))./(pi.*r.^2);
cost=(400.*(2.*pi.*r.*h))+(600.*(2.*pi.*r.^2));
cheapest=min(cost);
Minr=r(cost==cheapest) %The r value that minimizes the cost function
%check if the value is correct on a figure
clf
hold on
plot(r,cost) %draw the cost function
plot(Minr,cheapest,'rx') %mark the minimum value
axis([0 10 0 5e5])
grid on

Categorías

Más información sobre External Language Interfaces en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by