How can I create a best fit polynomial for my data?

조회 수: 5 (최근 30일)
Syed Ali Zaryab
Syed Ali Zaryab 2018년 9월 4일
댓글: Titus Edelhofer 2018년 9월 9일
I have a set of data points that I received from a supplier which gives relative efficiency based on values of x and y. I want to create a polynomial similar to the one given below using the data provided Efficiency = a * (x)^2 + b * (x*y) + c * (y)^2 + d * (x)+ e * (y) + f
So basically what I want is a function which optimizes the value of a,b,c,d,e and f for me and gives me results that are almost similar to the one in the data table.
Attached herewith is the picture of the graph that the supplier provided along with the data points. Can you please tell me what functions can I use in Matlab to help me achieve this task.

채택된 답변

Titus Edelhofer
Titus Edelhofer 2018년 9월 4일
Hi Syed,
if I assume you have three (column) vectors x, y and Efficiency, then it's simply a linear regression problem:
A = [x.^2 x.*y y.^2 x y ones(size(x))];
sol = A \ Efficiency;
Then sol contains the (best approximation) values a,...,f.
Titus
  댓글 수: 3
Torsten
Torsten 2018년 9월 7일
Use "reshape" to change x, eff and y from (4x13) matrices to (52x1) vectors.
Titus Edelhofer
Titus Edelhofer 2018년 9월 9일
Or use (:), i.e.,
x = x(:);
y = y(:);
eff = eff(:);
Titus

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Get Started with Curve Fitting Toolbox에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by