2016-12-09 8 views
0

Matlabでは以下の最適化問題を解決したいと考えています。f(t)t >= 0を最小化します。Matlabでの1d制約付き最適化の特別な種類

fseminf機能がありますが、私のケースにどのように適用するのかよく分かりませんでした。また、そのような一見簡単な問題のために、このような強力なツールを使用するのは少し残酷すぎるようです。 fseminfをここに適用する方法に関するヒントと解決方法を教えていただきありがとうございます。

+0

私は 'fmincon'を推奨します。これは最適化の制約とアルゴリズムを指定できる関数であり、よく書かれています。 – lucianopaz

答えて

0

Matlabは数値的なソフトウェアなので、この問題を解決するにはt>0の値をf(t)の値として計算し、その最小値を求めます。機能によっては、評価したい番号のtが小さくても大きくてもかまいません。

一つの可能​​な解決策は次のようになります。

t = 0:0.001:10; % create values from 0 to 10 in steps of 0.001 
f = t.^3+5; % evaluate the function for each value of 't' 
[minF, locT] = min(f); 
minF % this is the smallest value of the function 
t(locT) % the minimum value occurred at this 't' 

あなたはこれが唯一の極小値を見つけるだろう、それは間違って定義する場合は、に最小を期待する地域であることをtを定義する必要があります。別々の間隔の間隔が大きすぎる場合、最小値もそれらの間に入る可能性があります。そのため、私は '0.001'という比較的小さいステップを選択します。

関連する問題