MATLAB Answers

Finding coefficients and constant for multivariable linear equation.

18 views (last 30 days)
Hello
I want to find the coefficients and constant for the equation: A*x_1 + B*x_2 + C*x_3 + D*x_4 + E = 0, using 4 given points that satisfies the equation.
How do you do this in Matlab? I tried using regress and only got the trivial solution A=B=C=D=E=0.
Thanks in advance!

  0 Comments

Sign in to comment.

Accepted Answer

Shashank Prasanna
Shashank Prasanna on 26 Apr 2013
Shelley, to find a non-trivial solution you have to find the null space of your data matrix.
You data matrix with a column of ones (for the intercept term E):
>> M = [[1,1,1,1; 2,3,2,2; 4,5,4,6; 0,1,3,4],[1;1;1;1]]
M =
1 1 1 1 1
2 3 2 2 1
4 5 4 6 1
0 1 3 4 1
Regress will give you the trivial solution that is zeros. Since M above is rank deficient there are a family of solutions. The non-trivial solution would be the null space which you can compute as follows:
>> null(M)
ans =
-0.3536
0.3536
-0.7071
0.3536
0.3536

More Answers (1)

bym
bym on 25 Apr 2013
You don't have enough points. 4 points < 5 unknowns

  1 Comment

Shelley
Shelley on 26 Apr 2013
Okay I see. Then there must be some kind of constraint for the equation that makes it possible to find a uniqe solution. The points are: (1,1,1,1), (2,3,2,2), (4,5,4,6), (0,1,3,4) and the equation is for an affine space in R^4.
Anybody knows how to solve this?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by