2016-12-09 5 views
0

Я хотел бы решить следующую проблему оптимизации с помощью Matlab: свести к минимуму f(t), когда t >= 0.Специальный вид оптимизации с 1d с помощью Matlab

Есть функция fseminf, но я не совсем понял, как применить ее к моему делу. Также кажется, что слишком сложно использовать такой мощный инструмент для такой, казалось бы, легкой проблемы. Я буду благодарен за любые советы о том, как подать заявку fseminf здесь и любые предложения, как еще это можно решить.

+0

Я бы рекомендовал функцию 'fmincon', которая позволяет указывать ограничения оптимизации, алгоритмы и хорошо документирована. – lucianopaz

ответ

0

Matlab - это числовое программное обеспечение, поэтому один «простой» способ решить эту проблему - рассчитать значение f(t) для значений t>0, а затем найти минимум этого. В зависимости от функции число t s, которое вы хотите оценить, может быть меньше или больше.

Одним из возможных решений может быть:

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 находиться в регионе, где вы ожидаете минимум до, если вы определили, что неправильно это будет только найти локальный минимум. Если промежуток между отдельными «t» слишком велик, между ними может быть и минимум, поэтому я выбираю относительно небольшой шаг «0.001».

Смежные вопросы