How to specify tolerance using linsolve ?
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi,
I have a linear system that I want to solve with Matlab using linsolve. My problem is that the coefficients' range of the system is huge. The minimum coefficient start at e-20 while the max reach 10e25. When I use linsolve, I get a warning telling me "Warning: Rank deficient, rank = 15, tol = 5.2711e+005.". When I use rank on my system, I effectively observe that my system is not full rank. But when I use rank(sys, tol) with a small tol value (~e-15), I obtain a full rank system.
So I suppose that linsolve choose a tolerance that is to high for my system and my question is if there exists a way to specify a tolerance value to linsolve in ordre to solve system with a high range of coefficients.
Thanks
0 Kommentare
Akzeptierte Antwort
pietro
am 16 Nov. 2014
It is strongly suggested to normalize your design variables, contraints and so on in order to have a similar variation of the gradient and lagragian functions. Please post your problem and I will help you
3 Kommentare
pietro
am 16 Nov. 2014
well the design variables may be scaled in this way:
(x-lb)./(ub-lb)
where x is the array with the design variables, ub the array with upper bounds and lb is the array with lower bounds
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Systems Of Linear Equations 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!