The min(y) function where y is a vector

If i have used a loop say
for x=1:1:10
y(x)=(x^2)/2
end
then use min(y) to display the minimum from this vector, 0.5. How would I get it to display the corresponding x value?
thanks

Antworten (2)

Fangjun Jiang
Fangjun Jiang am 12 Nov. 2011

0 Stimmen

In your code, x is a scalar. It is over-written every iteration in the for-loop.
min() can return the index.
x=1:10;
y=x.^2/2;
[ymin,pos]=min(y);
x_val=x(pos)
Wayne King
Wayne King am 12 Nov. 2011

0 Stimmen

[minval,index] = min(y);
In this case it's trivial since index is the x value at which the minimum occurs. This function is increasing on your x values, so the minimum is at the first element.

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Hilfe-Center und File Exchange

Tags

Gefragt:

am 12 Nov. 2011

Community Treasure Hunt

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

Start Hunting!

Translated by