Solving overdeterminated linear equation system with specified conditions

3 ビュー (過去 30 日間)
Thomas
Thomas 2012 年 3 月 12 日
Dear fellows! I´m new in the world of matlab and i´d like to solve the following overdeterminated system of linear equations with lsqr-method.
A*p=b
where A is a (5x3) matrix, p=[p1;p2;p3] and b is vector with 5 given vector elements.
without any conditions i could solve the system with p=A\b or p=lsqr(A,b).
BUT following conditions have to be achivied for solving the problem
1. p1;p2;p3 are always >=0
2. p1+p2+p3=sum(p)=1
Does sombody can help me to set the conditions for the solving process?
best regards Thomas

採用された回答

Seth DeLand
Seth DeLand 2012 年 3 月 12 日
Hi Thomas, If you have the Optimization Toolbox, LSQLIN can solve constrained least-squares problems: http://www.mathworks.com/help/toolbox/optim/ug/lsqlin.html
You can use the A and b arguments to enforce that p1; p2; p3 >= 0 and the Aeq and beq arguments to enforce that p1+p2+p3 = 1.
  1 件のコメント
Thomas
Thomas 2012 年 3 月 14 日
Thank you for your answer.
Did i define the constraints correct for following settings?
(C(5x3)matrix, d(5x1)vector) and C*x=d)
where
lb=zeros(3,1); %x1,x2,x3>=0
Aeq=ones(1,3);beq=1; %x1+x2+x3=1
[x,resnorm,residual,exitflag,output]=lsqlin(C,d,[],[],Aeq,beq,lb);
best regards
Thomas

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSystems of Nonlinear Equations についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by