Я пытаюсь построить две встроенные кривые с использованием двухместной модели gauss на Matlab. При построении графиков на индивидуальной основе графики показывают всю установленную кривую, но когда я совмещаю и встроенную кривую на одном графике, отображается только часть кривых, остальная часть обрезается.Построение двух встроенных кривых на одном и том же участке (MATLAB)
код:
% 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)'. Это должно изображать обе кривые в одном и том же сюжете. Это также работает, если вы собираете данные и хотите построить данные и встроенную кривую на одном сюжете (fitobject, data_x, data_y). – fukurai