using lsqlin when you have a large matrix
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
hi,
Can someone please tell me how to correct the following code.
x = [yt,r];
a = eye(2);
b = zeros(2,1);
opts = optimset('lsqlin');
opts.LargeScale = 'off';
opts.Display = 'none';
coef = lsqlin(x,yt2,-a,-b);
My x is a 1000*2 matrix. so i get an error. I read the help for that but couldn't understand it clearly.
thanks.
0 Kommentare
Akzeptierte Antwort
Teja Muppirala
am 18 Feb. 2013
I don't think there is anything wrong with this code, except LSQNONNEG would be easier.
coef = lsqlin(x,yt2,-a,-b);
is the same as
coef = lsqnonneg(x,yt2);
When I run your core, I don't get any errors at all. I just get
coef =
0.4036
0
Which I have no reason to doubt is a valid answer.
Are you perhaps referring to the warning that comes up regarding the solver?
1 Kommentar
Weitere Antworten (1)
Matt J
am 18 Feb. 2013
Bearbeitet: Matt J
am 18 Feb. 2013
If you have 1000 unknowns why is "a" only 2x2?
Also, since your constraints are only lower bounds on the unknowns, use the lb input argument instead of A,b
Also, since you only have positivity constraints, consider using LSQNONNEG instead of LSQLIN.
6 Kommentare
Matt J
am 18 Feb. 2013
There are not 1000 unknowns, there are only 2.
Ah well. The question has been edited.
Siehe auch
Kategorien
Mehr zu Linear Least Squares finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!