#python #matlab #scipy #curve-fitting #scipy-optimize
Вопрос:
В Matlab есть функция «predint», которая определяет интервалы для объекта cfit. Я перепробовал все способы репликации этой функции на Python, но безуспешно. Я знаю «scipy.optimize.curve_fit», который похож, но вы не можете получить интервалы прогнозирования, как в Matlab, на выходе. Кто-нибудь может мне помочь, пожалуйста?
Данные о проблеме-это общее «y», в моем случае исходящее от датчика; в то время как «x» — это просто количество выборок «y», расположенных на равном расстоянии друг от друга на 1.
С помощью «p11» я получаю матрицу из 2 столбцов, где один-верхний порог, а другой-нижний порог.
% Matlab CODE
y = tbl.VarName2;
x = 1:length(y);
[xData, yData] = prepareCurveData( x, y );
% Set up fittype and options.
ft = fittype( 'exp2' );
opts = fitoptions( 'Method', 'NonlinearLeastSquares' );
opts.Display = 'Off';
opts.Normalize = 'on';
% Fit model to data.
[fitresult, gof] = fit( xData, yData, ft, opts );
p11 = predint(fitresult,x,0.9,'observation','off');
figure
plot(fitresult,x,y)
hold on
plot(x,p11,'m--')
title('Nonsimultaneous Observation Bounds','FontSize',9)
grid on
Комментарии:
1. Это ответ на ваш вопрос?