Мне нужно максимизировать функцию, которая содержит CDF нормалей в Matlab - PullRequest
0 голосов
/ 30 апреля 2018

Мне нужно решить в Matlab следующее:

gamma = max_{x} [1 - F(x)] * x

Где x обычно распределяется с некоторыми значениями mu и sigma, а F(x) - это CDF, оцененный в x. Как мне это делать? Я попытался написать отдельный скрипт с функцией, используя normcdf внутри нее, а затем используя fminunc с моей функцией в качестве входного аргумента, но это не сработало. Любая помощь приветствуется! Редактировать: Пока у меня есть функция:

function gamma = myfun(x,mu,sigma)
mu=0.0185;
sig=0.0216;
gamma = (-1)*(1-normcdf(x,mu,sig))*x;
end

А в основном файле:

x0=0;
gamma = fminunc(@myfun,x0);
...