Подгонка упорядоченного полинома

Я пытался построить кривую регрессии:

coef_fit = polyfit(norm_dist,norm_time,7); 
y_fit = polyval(coef_fit,xlim); 
plot(xlim,y_fit,'r');

Но он всегда строит линию, соответствующую порядку, который я передаю.

1 ответ

Решение

Проблема в том, что x значения, которые вы используете, являются выходными xlim, который является вектором длины-2. Вы должны определить x вектор с большим количеством значений:

norm_dist = sort(5*randn(1,50) + (1:50)); %// example x values
norm_time = 5*randn(1,50) + (1:50).^2; %// example y values
x = linspace(min(norm_dist), max(norm_dist), 200); %// define x values for plot
coef_fit = polyfit(norm_dist,norm_time,7); 
y_fit = polyval(coef_fit,x); 
plot(x,y_fit,'r');
hold on
plot(norm_dist, norm_time, 'b.') %// plot original points for comparison

Другие вопросы по тегам