Solving linear set of equations

2 visualizzazioni (ultimi 30 giorni)
Meytal
Meytal il 8 Ago 2011
Hi,
I have a linear set of equations Ax=b, where A is not square (more variables than equations), A and b members is of integer type, and the vector x members needs to be integer>=0. which function from the MATLAB C++ math library can I use to solve this equation? (inv() works on square, non-singular matrixes) I would also like MATLAB to warn me if there is no solution..

Risposta accettata

Walter Roberson
Walter Roberson il 8 Ago 2011
What you describe would essentially be a set of simultaneous knapsack problems; such problems are not solvable by linear equation methods. See http://en.wikipedia.org/wiki/Knapsack_problem
  2 Commenti
Meytal
Meytal il 8 Ago 2011
The linear set of equations I'm talking about is supposed to be solvoable, because there are other constraints that I didn't mention.
an example for what I want to do:
the set of equations:
7 = 7a+15b
28 = 6b+7c
64 = 4c+3d
when I use '\', it will give me an answer: [0;0.4667;3.6;16.533]
but I need it with integers. for example, the answer [1;0;4;16] would be the answer I'm looking for.
is there any way to look for unsigned int vectors that will solve the equations?
Walter Roberson
Walter Roberson il 8 Ago 2011
I did not say the problem was not solvable: I said it is not solvable using linear equation methods. The "\" operator cannot solve these kinds of equations over integers.
Consider that if you were to allow your x to be negative as well, what you would be describing would be a set of simultaneous linear Diophontine equations, http://en.wikipedia.org/wiki/Diophantine_equation . These are not solved using linear algebra.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Linear Algebra in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by