Строка лучшей пригодной диаграммы рассеяния

Я пытаюсь сделать, диаграмма рассеяния со строкой лучших помещается в matlab, я могу получить диаграмму рассеяния с помощью любого рассеяния (x1, x2) или scatterplot (x1, x2), но основная подходящая опция затенена, и lsline возвращает ошибку 'Никакие позволенные найденные типы строки. Ничто сделанное'

Любая справка была бы большой,

Спасибо, Jon.

8
задан Jon 8 January 2010 в 01:52
поделиться

1 ответ

lsline доступна только в Статистическом инструменте, есть ли у вас статистический инструмент? Более общим решением может быть использование polyfit.

Вам необходимо использовать polyfit для подгонки строки к вашим данным. Предположим, что у Вас есть данные в y, а у Вас есть соответствующие значения домена в x, (т.е. у Вас есть данные, аппроксимирующие y = f(x) для произвольного f), то Вы можете подогнать линейную кривую следующим образом:

p = polyfit(x,y,1);   % p returns 2 coefficients fitting r = a_1 * x + a_2
r = p(1) .* x + p(2); % compute a new vector r that has matching datapoints in x

% now plot both the points in y and the curve fit in r
plot(x, y, 'x');
hold on;
plot(x, r, '-');
hold off;

Обратите внимание, что если Вы хотите подогнать произвольный полиномиал под свои данные, то Вы можете сделать это, изменив последний параметр полифита на размерность кривой. Предположим, что мы назовем эту размерность d, и Вы получите обратно d+1 коэффициенты в p, которые представляют собой многочлен, соответствующий оценке f(x):

f(x) = p(1) * x^d + p(2) * x^(d-1) + ... + p(d)*x + p(d+1)

Правка, как отмечено в комментарии, можно также использовать polyval для вычисления r, синтаксис которого будет выглядеть следующим образом:

r = polyval(p, x);
22
ответ дан 5 December 2019 в 07:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: