Я пишу программу в Matlab, и у меня есть функция, определенная таким образом.Минимизация Matlab с функцией fminsearch и параметризованной функцией
sum (i=1...100) (a*x(i) + b*y(i) + c)
x
и y
известны, в то время как, б и в не являются: мне нужно найти значения для них таким образом, что общее значение функции сводится к минимуму. Нет никаких дополнительных ограничений для проблемы.
Я думал использовать fminsearch, чтобы решить эту проблему минимизации, но из Mathworks я понимаю, что функции, которые являются подходящими входами для fminsearch определены как это (пример):
square = @(x) x.^2
Так что в моем случае я мог бы используйте вектор p=[a, b, c]
как значение для минимизации, но тогда я не знаю, как определить оставшуюся часть функции. Как вы можете видеть, число возможных значений индекса i огромно, поэтому я не могу просто суммировать все вместе явно, но мне нужно каким-то образом представить суммирование. Если я буду писать функцию где-то в другом месте, то я вынужден использовать символическое исчисление для a, b и c (объявляя их с syms), и я не уверен, что fminsearch примет это.
Что я могу сделать? Конечно, если fminsearch оказывается неосуществимым для моей ситуации, я принимаю ссылки на использование чего-то другого.
Вы хотите, чтобы минимизировать чистую сумму, при условии отсутствия ограничений? Нет минимума. Думаю, у вас другая проблема. Так почему бы нам не рассказать немного больше, а не смутить нас? –
a = b = c = -inf. сделанный. –