How to find the equation of a graph after getting Xdata and Ydata ?

1 次查看(过去 30 天)
x = [0 1 2 3 4 5 6 7 8 9 10];
y = [4 3 4 7 12 19 28 39 52 67 84];
% How to find the function y = F(x) ??
% because I need for example to know
% if x = 1.5
% y = ??
% the solution should be something regarding regression.

采纳的回答

Azzi Abdelmalek
Azzi Abdelmalek 2015-8-7
编辑:Azzi Abdelmalek 2015-8-7
You can find yi by interpolation
x = [0 1 2 3 4 5 6 7 8 9 10];
y = [4 3 4 7 12 19 28 39 52 67 84];
xi= 1.5
yi=interp1(x,y,xi)

更多回答(2 个)

Brendan Hamm
Brendan Hamm 2015-8-7
The easiest way would be to use the polynomial fitting functions. For this you need to know what order polynomial to fit, so visualize the data:
plot(x,y)
The data you gave looks quadratic, so let's find the coefficients for a second order polynomial:
coeff = polyfit(x,y,2);
Now evaluate the polynomial at a new value of x:
xNew = 1.5;
yNew = polyval(coeff,xNew);
plot(xNew,yNew,'r*');
  5 个评论

请先登录,再进行评论。


Walter Roberson
Walter Roberson 2015-8-7
one of the infinite number of solutions is:
x = [0 1 2 3 4 5 6 7 8 9 10];
y = [4 3 4 7 12 19 28 39 52 67 84];
pp = polyfit(x, y, length(x)-1);
y1_5 = polyval(pp, 1.5)
Another of the infinite solutions is:
x = [0 1 2 3 4 5 6 7 8 9 10];
y = [4 3 4 7 12 19 28 39 52 67 84];
y1_5 = 19;
It is not mathematically possible to distinguish between these two solutions as to which one is "more correct".

类别

Help CenterFile Exchange 中查找有关 Polynomials 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by