How to get polynomial of form ax^2+c

14 Ansichten (letzte 30 Tage)
David Ishak
David Ishak am 29 Okt. 2015
Beantwortet: Matt J am 29 Okt. 2015
I am using MATLAB to fit a curve to data. I have a physics formula of the form y=ax^2+c and I am trying to determine the value of the constant a and c using the data. When I fit a second degree polynomial to the data (using polyfit), MATLAB gives me the constants a b and c of the polynomial in the form of ax^2 + bx + c. Of course, that doesn't help me find a and c for my formula. I need a polynomial of the form ax^2 + 0x + c that fits the data

Antworten (3)

Matt J
Matt J am 29 Okt. 2015
p=polyfit(x.^2,y,1);
a=p(1);
c=p(2);

Walter Roberson
Walter Roberson am 29 Okt. 2015
Suppose you have an x vector and a y vector. Then
X = x(:);
Y = y(:);
coeffs = [X.^2, ones(size(X))] \ Y;
a = coeffs(1);
c = coeffs(2);

Star Strider
Star Strider am 29 Okt. 2015
Bearbeitet: Star Strider am 29 Okt. 2015
You have a linear equation, so you can use the mldivide function and an appropriately constructed design matrix to estimate the parameters:
x = 0:9; % Create Data
y = 2 + 5*x.^2 + 0.1*randn(size(x)); % Create Data
B = [ones(size(x(:))) x(:).^2]\y' % Estimate Parameters
B =
2.0176
4.9998
The ‘B’ assignment is the parameter vectors, with c=B(1) and a=B(2).

Kategorien

Mehr zu Polynomials finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by