How to solve an equation of the form A (matrix) x(vector) = b(vector) and a constant c where I have to find x and c, and x is only positive?
    5 views (last 30 days)
  
       Show older comments
    
    German Preciat Gonzalez
 on 4 Dec 2016
  
    
    
    
    
    Answered: Star Strider
      
      
 on 4 Dec 2016
            Hi, I have a matrix A
A =[1 1 2 2 0 0;
    1 1 2 2 0 0;
    0 0 0 1 0 0;
    0 0 0 1 0 0;
    3 0 0 0 0 0;
    3 0 0 0 0 0;
    3 0 0 0 1 0;
    3 0 0 0 1 0;
    3 0 0 0 1 0;
    3 0 1 1 1 0;
    3 0 1 1 1 0;
    3 0 2 0 0 1;
    3 0 2 0 0 1];
and a vector b
b = [64.20; 42.60; 14.60; 5.75; 30.40; 27.20; 36.50; 25.40; 40.60; 38.90; 15.50; 38.40; 35.30];
if I use linesolve, I have
x =
      9.6000
     57.7333
    -17.1417
     10.1750
      5.3667
     42.3333
but negative values are nor realistic, I was planning to use linear programming but I'm not sure if is the way to go since I also need to have a constant (which can be negative) so I can have
Axc=b
Can you recommend me something?
Thanks!
0 Comments
Accepted Answer
  Star Strider
      
      
 on 4 Dec 2016
        If you want to avoid negative parameters, use the lsqnonneg function.
Example:
x = lsqnonneg(A,b)
x =
          9.6
       36.306
            0
       3.7469
       1.0813
         8.05
0 Comments
More Answers (1)
See Also
Categories
				Find more on Calculus in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!