Asked by Jia Qing Soo
on 9 Oct 2013

Given ANY function file input, which we can assume to be continuous between [1,2], what is the code to estimate the x-value where the graph achieves its minimum point?

Answer by Matt Kindig
on 9 Oct 2013

Edited by Matt Kindig
on 9 Oct 2013

I would check out the documentation for fminsearch() and fminbnd(), or if you have the Optimization Toolbox, fminunc():

doc fminsearch

doc fminbnd

doc fminunc

For example, if your function is f(x)=sin(x), you can call it like this:

sol = fminbnd(@sin, 1, 2)

Jia Qing Soo
on 9 Oct 2013

Is there another way of finding the minimum point?

For example, writing a code such as to input an x-value (from x = 1 to 2 with an interval of 0.1) to derive the corresponding f(x) and then getting matlab to figure out which f(x) is the minimum?

Matt Kindig
on 9 Oct 2013

Are the f(x) functions pre-defined, or can they be literally anything? If they can be anything, this problem is impossible to solve, as there are an infinite number of f(x) functions possible.

What exactly is your goal here?

Sign in to comment.

Answer by Matt J
on 9 Oct 2013

Edited by Matt J
on 9 Oct 2013

If f(x) is vectorized, you would just do

[minval,minloc] = min(f(1:0.1:2))

If you can't rely on it being vectorized, you would have to loop

x=1:0.1:2;

m=inf(size(t));

for i=1:length(m)

m(i)=f(x(i));

end

[minval,minloc]=min(m);

Sign in to comment.

Opportunities for recent engineering grads.

Apply Today
## 0 Comments

Sign in to comment.