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

 Risposta accettata

Image Analyst
Image Analyst il 21 Apr 2019

0 voti

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)

Più risposte (1)

Stephan
Stephan il 21 Apr 2019
Modificato: Stephan il 21 Apr 2019

1 voto

% 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);

Categorie

Scopri di più su MATLAB in Centro assistenza e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by