Matlabの2項ガウスモデルを使って2つのフィット曲線をプロットしようとしています。フィッティングしたカーブを個別にプロットしている間、プロットはフィッティングされたカーブ全体を表示しますが、フィッティングした両方のカーブを1つのプロットで組み合わせると、カーブの一部だけが表示され、残りはカットされます。同じプロット(MATLAB)でフィットした2つの曲線をプロットする
コード:
% Data
X1 = [0 1 2 3 4 5 6 7 8 9 10]';
Y1 = [0.004 0.010 0.025 0.036 0.057 0.061 0.044 0.032 0.039 0.024 0.020]';
X2 = X1;
Y2 = [0.012 0.018 0.032 0.046 0.067 0.071 0.054 0.042 0.025 0.019 0.011]';
[p1,p2,p3] = deal(0.04, 3.5, 1.6);
[q1,q2,q3] = deal(0.03, 5.8, 4.02);
% Options
opt = fitoptions('method','NonlinearLeastSquares','Lower',[-Inf -Inf 0]);
ind1 = isfinite(X1) & isfinite(Y1);
ind2 = isfinite(X2) & isfinite(Y2);
set(opt,'Startpoint',[p1 p2 p3 q1 q2 q3]);
typ = fittype('gauss2');
% Fit
cf1 = fit(X1(ind1),Y1(ind1),typ,opt);
cf2 = fit(X2(ind2),Y2(ind2),typ,opt);
figure(1)
plot(cf1,'fit',0.95);
figure(2)
plot(cf2,'fit',0.95);
% Problem lies here while combining the two plots
figure(3)
hold on
plot(cf1,'fit',0.95);
plot(cf2,'fit',0.95);
- 私は同じプロットで二つの曲線を表示するにはどうすればよいです?。
- フィッティングされたカーブを、元の形状のほとんどを変更せずに、ポイントx = 0、y = 0.02から開始するにはどうすればよいですか?
'plot(cf1、cf2)'を試してください。両方の曲線を同じプロットにプロットする必要があります。これは、データを収集し、データとフィットした曲線を1つのプロット 'plot(fitobject、data_x、data_y)'にプロットしたい場合にも有効です。 – fukurai