Finding minimum point from any function file input.

조회 수: 3 (최근 30일)
Jia Qing Soo
Jia Qing Soo 2013년 10월 9일
편집: Matt J 2013년 10월 9일
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?

답변 (2개)

Matt Kindig
Matt Kindig 2013년 10월 9일
편집: Matt Kindig 2013년 10월 9일
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)
  댓글 수: 2
Jia Qing Soo
Jia Qing Soo 2013년 10월 9일
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
Matt Kindig 2013년 10월 9일
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?

댓글을 달려면 로그인하십시오.


Matt J
Matt J 2013년 10월 9일
편집: Matt J 2013년 10월 9일
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);

카테고리

Help CenterFile Exchange에서 Performance and Memory에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by