HI, im new to matlab and was wondering how would you input a command to help me solve an unknown constant in an equation.
I have a bunch of x,y points,The equation would be x= a*y+b

 Akzeptierte Antwort

Image Analyst
Image Analyst am 21 Apr. 2019

0 Stimmen

You say "The equation would be x= a*y+b" and this is the opposite to the way people usually do things, but it can be done. Just reverse x and y when you call polyfit(). Try this:
coefficients = polyfit(y, x, 1); % x as a function of y - note NOT the usual way people do things!
a = coefficients(1)
b = coefficients(2)

Weitere Antworten (1)

Stephan
Stephan am 21 Apr. 2019
Bearbeitet: Stephan am 21 Apr. 2019

1 Stimme

% Only needed if x,y are not column vectors
x = reshape(x,[],1);
y = reshape(y,[],1);
% solve for a, b
x = [x, ones(numel(x),1)];
sol = y\x;
a = sol(1);
b = sol(2);

Kategorien

Mehr zu MATLAB finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by