Распределение Вейбула широко используется в анализе данных надежности и срока службы (частоты отказов). Тулбокс обеспечивает двухпараметровое распределение Вейбула
где a - параметр шкалы, а b - параметр формы.
Обратите внимание, что существуют другие распределения Вейбула, но вы должны создать пользовательское уравнение, чтобы использовать эти распределения:
Трехпараметровое распределение Вейбула с x замененным x – c, где c - параметр местоположения
Однопараметрическое распределение Вейбула, где параметр формы фиксирован и установлен только параметр шкалы.
Curve Fitting Toolbox™ не подгоняет распределения вероятностей Вейбула к выборке данных. Вместо этого он подбирает кривые к данным отклика и предиктора так, что кривая имеет ту же форму, что и распределение Вейбула.
Откройте приложение Аппроксимирование Кривыми, введя cftool. Также щелкните Аппроксимированием кривыми на вкладке Приложений.
В приложении Аппроксимирование Кривыми выберите данные кривой (X data и Y data, или просто Y data с индексом).
Приложение Аппроксимирование Кривыми создает подгонку кривой по умолчанию, Polynomial.
Измените тип модели из Polynomial на Weibull.

Настройка параметров подгонки отсутствует.
(Необязательно) Щелкните Fit Options, чтобы задать начальные значения коэффициентов и ограничения или изменить настройки алгоритма.
Тулбокс вычисляет случайные начальные точки для моделей Вейбула, заданные на интервале [0,1]. Можно переопределить начальные точки и задать свои собственные значения в диалоговом окне Опции подгонки (Fit Options).
Для получения дополнительной информации о настройках см. Раздел «Задание опций подгонки» и «Оптимизированные начальные точки».
Задайте тип модели weibull.
Например, чтобы загрузить некоторые примеры данных, измеряющих концентрацию соединения в крови относительно времени, и подгонять и построить модель Вейбула, определяющую начальную точку:
time = [ 0.1; 0.1; 0.3; 0.3; 1.3; 1.7; 2.1;...
2.6; 3.9; 3.9; ...
5.1; 5.6; 6.2; 6.4; 7.7; 8.1; 8.2;...
8.9; 9.0; 9.5; ...
9.6; 10.2; 10.3; 10.8; 11.2; 11.2; 11.2;...
11.7; 12.1; 12.3; ...
12.3; 13.1; 13.2; 13.4; 13.7; 14.0; 14.3;...
15.4; 16.1; 16.1; ...
16.4; 16.4; 16.7; 16.7; 17.5; 17.6; 18.1;...
18.5; 19.3; 19.7;];
conc = [0.01; 0.08; 0.13; 0.16; 0.55; 0.90; 1.11;...
1.62; 1.79; 1.59; ...
1.83; 1.68; 2.09; 2.17; 2.66; 2.08; 2.26;...
1.65; 1.70; 2.39; ...
2.08; 2.02; 1.65; 1.96; 1.91; 1.30; 1.62;...
1.57; 1.32; 1.56; ...
1.36; 1.05; 1.29; 1.32; 1.20; 1.10; 0.88;...
0.63; 0.69; 0.69; ...
0.49; 0.53; 0.42; 0.48; 0.41; 0.27; 0.36;...
0.33; 0.17; 0.20;];
f=fit(time, conc/25, 'Weibull', ...
'StartPoint', [0.01, 2] )
plot(f,time,conc/25, 'o');Если вы хотите изменить опции подгонки, такие как начальные значения коэффициентов и ограничения, соответствующие вашим данным, или изменить настройки алгоритма, смотрите таблицу дополнительных свойств с NonlinearLeastSquares на fitoptions страница с описанием.
Соответствующие значения начальной точки и масштабирование conc/25 для двухпараметрической модели Вейбула были вычислены путем подгонки модели Вейбула 3 параметра с помощью этого пользовательского уравнения:
f=fit(time, conc, ' c*a*b*x^(b-1)*exp(-a*x^b)', 'StartPoint', [0.01, 2, 5] )
f =
General model:
f(x) = c*a*b*x^(b-1)*exp(-a*x^b)
Coefficients (with 95% confidence bounds):
a = 0.009854 (0.007465, 0.01224)
b = 2.003 (1.895, 2.11)
c = 25.65 (24.42, 26.89)
fit | fitoptions | fittype