Аппроксимация эмпирического распределения функции
Здравствуйте, пишу курсовую, застрял на аппроксимации функции, так как мои познания в matlab ограничены, то
обращаюсь на форум, нужна помощь с кодом, так же я не очень понимаю, как можно записать эмпирически заданную функцию в интеграле, чтобы оптимизировать целевую
Есть целевая функция, которую нужно оптимизировать и найти альфа, сигма и p :
Функция f1(x) представлена эмперически и имеет вид:
Функция f2(x) представлена эмперически и имеет вид:
Функция
При этом ф-ия - это функция нормального распределения
По итогу
Должна получиться в виде суммы 5 нормальных распределений.
Используется функция isqnonlin
Итоговые тройки (ответы) : :
i = 1 -> (0,5;1,5;1000000)
i = 2 -> (2,9;1,2;5000)
i = 3 -> (5,1;3,6;600000)
i = 4 -> (8;0,7;17000000)
i = 5 -> (11;0,6;2000000
Ответы
Привет!
1. Разбей интеграл на сумму интегралов по пределам интегрирования. Т.о. у первого интеграла пределы будут от 0 до 1, а подинтегральная функция f1 = (1000х - b1)2 и т.д
2. Целевая функция
function F = myTarget(y)
a = y(1:5) ; sigma = y(6:10) =; p = y(11:15) ;
n = @(x) 1./sigma/sqrt(2*pi).*exp(-(x-a).^2./(2*sigma));
b1 = @(x) sum(p.*n(a,sigma,x);
f1 = @(x) (1000x-b1)^2
F1 = integral(f1,0,1)
f2 = @(x) (25327x-24237- b1)^2)
F2 = integral(f2,1,2)
........................
F = F1+F2+.....
end
3. Это один из подходов. Код только надо довести до реализации. Успехов