How to find equation of curve if just graph is given

Hello All,
I have just graph with me in matlab and from that I have to find equation of curve. Can anybody help me to find that ?

답변 (1개)

Conrad
Conrad 2012년 7월 27일

0 개 추천

You will have to make some assumptions about the functional form of the curve... for example if you know the curve is of the form y = b1 + b2*x + b3*x^2 + ...., you can solve for b by b = ((X'X)^-1)*X'*Y where X = [1 x x^2 ...].
Conrad

댓글 수: 5

Conrad
Conrad 2012년 7월 27일
편집: Conrad 2012년 7월 27일
Here is an example:
% Create dummy data.
f = inline('3 + 2*x + 4*x.^2');
x = (0:0.1:2)';
y = f(x);
% Recover coefficients.
X = [ones(numel(x),1) x x.^2];
b = (inv(X'*X))*X'*y;
You will see that the b coefficients corresponds exactly to the coefficients of the original polynomial function.
In general, if you chosen functional form is not the true functional form of the data, the solution will give the "closest" curve in the least squares sense. You could also try more exotic approaches....piece wise fitting etc.
Pranav
Pranav 2012년 7월 27일
편집: Pranav 2012년 7월 27일
Conrad thanks for reply. How to know that the equation pattern I mean polynomial, exponential etc. I just have a curve. Please help me.
Sorry no easy answer here. How is the data generated or what is the underlying model? Without having an underlying model/functional form there are an infinite number of possibilities... you will have to make an assumption.
If you really have no idea, you could assume various basic forms and see which one fits the data the best in a least squares sense.
John D'Errico
John D'Errico 2012년 7월 27일
편집: John D'Errico 2012년 7월 27일
NO, NO, NO!!!!!!!! Don't teach people to use the normal equations, i.e., b = ((X'X)^-1)*X'*Y. Terrible numerically. Just silly when a better solution exists. You are squaring the condition number of the problem, so this is bad when the system is at all ill-conditioned. Then you are using inv on a problem where it is less than desirable.
b = X\Y;
Don't continue to propagate the bad things you learned.
John, rather than just criticising I would prefer, as I am sure Pranav would as well, that you present your better solution.

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 2-D and 3-D Plots에 대해 자세히 알아보기

질문:

2012년 7월 27일

Community Treasure Hunt

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

Start Hunting!

Translated by