Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 求和高斯分布的95%置信区间_Matlab_Curve Fitting_Gaussian_Confidence Interval - Fatal编程技术网

Matlab 求和高斯分布的95%置信区间

Matlab 求和高斯分布的95%置信区间,matlab,curve-fitting,gaussian,confidence-interval,Matlab,Curve Fitting,Gaussian,Confidence Interval,我在Matlab的曲线拟合工具箱中拟合了一些数据,使用了由2个求和高斯组成的拟合。Matlab能够很好地为我绘制95%置信区间的上限和下限 现在,我有了一些最适合由3个高斯组成的曲线的新数据,但是工具箱在这种情况下不会绘制95%的CI。它在曲线上的所有点返回NaN,而不是95%CI的数值 下面是一些代码: X = [0 1 2 3 4 5 6 7 8 9 10]'; Y = [0.009 0.014 0.031 0.044 0.062 0.065 0.052 0.037 0.037 0.027

我在Matlab的曲线拟合工具箱中拟合了一些数据,使用了由2个求和高斯组成的拟合。Matlab能够很好地为我绘制95%置信区间的上限和下限

现在,我有了一些最适合由3个高斯组成的曲线的新数据,但是工具箱在这种情况下不会绘制95%的CI。它在曲线上的所有点返回NaN,而不是95%CI的数值

下面是一些代码:

X = [0 1 2 3 4 5 6 7 8 9 10]';
Y = [0.009 0.014 0.031 0.044 0.062 0.065 0.052 0.037 0.037 0.027 0.026]';
STDV = [0.0028 0.0013 0.0047 0.00356 0.0077 0.0141 0.0072 0.0055 0.0055 0.0040 0.0055]';

[a1,b1,c1] = deal(0.036, 4.34, 2.02);
[a2,b2,c2] = deal(0.034, 6.78, 6.02);

fo1 = fitoptions('method','NonlinearLeastSquares','Lower',[-Inf -Inf 0]);
ok1 = isfinite(X) & isfinite(Y);
if ~all( ok1 )
    warning( 'GenerateMFile:IgnoringNansAndInfs',...
        'Ignoring NaNs and Infs in data.' );
end
st1 = [a1 b1 c1 a2 b2 c2];
set(fo1,'Startpoint',st1);
ft1 = fittype('gauss2');

% Fit this model using new data
cf1 = fit(X(ok1),Y(ok1),ft1,fo1);
% Plot this fit and the calculated dose points
h1 = plot(cf1,'fit',0.95);
set(h1(1),'Color',[0 0 0],...
    'LineStyle','-', 'LineWidth',1,...
    'Marker','none', 'MarkerSize',6);
hold on;
errorbar(X,Y,STDV,'*k')


%Break dose range into many intervals
Dose_range = 0:0.01:10;
%Plot confidence interval fits
load('ratio_lower.mat');
load('ratio_upper.mat');
plot(Dose_range,ratio_lower,'k:');
plot(Dose_range,ratio_upper,'k:');

“ratio_lower”和“ratio_upper”是从cftool中的分析GUI生成的CI。它适用于2个求和高斯,但不适用于3个求和高斯。

请显示一些代码。由于我使用了曲线拟合工具,因此没有太多代码可显示。不过,我会尝试在这里写点东西……很抱歉,有这么多帖子。即使是对你所做的导致你现在遇到的问题的描述,也是很好的。甚至尝试共享一些数据。我们不能在这里重现你的问题。X=[012345678910];Y=[0.009 0.014 0.031 0.044 0.062 0.065 0.052 0.037 0.037 0.027 0.026];标准偏差=[0.0028 0.0013 0.0047 0.00356 0.0077 0.0141 0.0072 0.0055 0.0055 0.0040 0.0055];[a1,b1,c1]=0.036,4.34,2.02;[a2,b2,c2]=0.034,6.78,6.02;st1=[a1 b1 c1 a2 b2 c2];ft1=fittype'gauss2';errorbarX,Y,STDV,'*k'等一下;%将剂量范围分成多个间隔剂量范围=0:0.01:10;%图中的置信区间与荷载“比率”匹配;负载‘比率_上垫’;绘图剂量范围,比率较低,'k:';绘图剂量范围,比率上限,'k:';