How can I fit a curve to x, y points and obtain the regression?

5 ビュー (過去 30 日間)
Sarah
Sarah 2018 年 11 月 19 日
コメント済み: Sarah 2018 年 11 月 20 日
I have plotted x vs y and obtained a plot of points, now I'm trying to fit a curve to my data using a nonlinear polynomial of order 4, the coeficiants are unknown.
I aim to obtain the regression coefficient as well.
Any idea how it is possible to do this? what are the suitable matlab functions to plot the fitting curve and to obtain the regression coeficient?
I already tried polyfit, but is it correct? if yes then how to proceed?

回答 (3 件)

KSSV
KSSV 2018 年 11 月 19 日
編集済み: KSSV 2018 年 11 月 19 日
Yes polyfit is the function you need.
x = linspace(0,4*pi,50);
y = sin(x);
% Use polyfit to fit a 4th-degree polynomial to the points.
p = polyfit(x,y,7);
% Evaluate the polynomial on a finer grid and plot the results.
x1 = linspace(0,4*pi);
y1 = polyval(p,x1);
figure
plot(x,y,'o')
hold on
plot(x1,y1)
hold off
In the above p has your coefficients. YOu can use poly2sym to see the polynomial obtained.
  11 件のコメント
KSSV
KSSV 2018 年 11 月 20 日
Then using polyfit is apt.
Sarah
Sarah 2018 年 11 月 20 日
so i tried this as below, but the resulting fitting does not apear same as it is when done on excel.
x =[6 values input by the user ]
y = [6 values calculated ]
so x and y are the same size
then:
p = polyfit(x, y, 4);
val = polyval(p, x);
plot(x, y, 'o');
hold on;
plot(x, val);
hold off

サインインしてコメントする。


madhan ravi
madhan ravi 2018 年 11 月 19 日
Read interp1 and use appropriate method you want
x = linspace(0,4*pi,50);
y = sin(x);
xx = linspace(x(1),x(end),1000);
yy = interp1(x,y,xx,'spline')
plot(x,y,'o',xx,yy)
  3 件のコメント
madhan ravi
madhan ravi 2018 年 11 月 19 日
Anytime :) , polyfit is for polynomials
Sarah
Sarah 2018 年 11 月 19 日
then how can i get the regression coeficient if I am sing the interp1 method?

サインインしてコメントする。


Luna
Luna 2018 年 11 月 19 日
編集済み: Luna 2018 年 11 月 19 日
Hello Sarah,
you can use polyfit. It uses least squares, here is the link you can read about it:

カテゴリ

Help Center および File ExchangeLinear and Nonlinear Regression についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by