Ваши данные выглядят как "шаги"
, поэтому лучше использовать функцию fit вместо interp1
Код может выглядеть следующим образом:
values = [4.7725677013567795e-25,5.259671597595681e-25,5.271571307092517e-25,5.804522928756955e-25,5.817596178596506e-25,6.400225475961127e-25,6.414575757297374e-25,7.05099062804588e-25,7.066729446412066e-25]';
x = (1:9)';
figure();
subplot(2,1,1)
plot(x,values,'.b',x,values,'-g')
hold all;
f = fit(x, values, 'poly1');
plot(f)
xx = (10:3120);
yy = f.p1*xx + f.p2;
subplot(2,1,2)
plot(x,values,'.b',x,values,'-g');
hold all;
plot(xx,yy,'.k',xx,yy,'--r')
Вы можете выбрать другую функцию подгонки, см. Справку для fit , чтобы правильно настроить функцию yy
'cubicinterp' - кусочно-кубическая интерполяция
'smoothingspline' - сглаживающий сплайн (кривая)