During optimization by fmincon, I have set lower bound equal to 0. So fmincon outputs some variables with very small values like 0.00000056 which is almost equal to 0.
How can I set this value to be 0 if it goes lower than 0.01 in fmincon. Means I want precision to two places after decimal only in the output.

1 commentaire

winkmal
winkmal le 17 Août 2020
Same problem here. Any progress would be appreciated.

Connectez-vous pour commenter.

Réponses (1)

Sai Bhargav Avula
Sai Bhargav Avula le 23 Oct 2019

0 votes

Hi,
Than setting the precision of the output of the fmincon, you can use the below given work around(as you want to set this only for the output).
n = 4; % number of desired decimal points
out= round(out*10^n)/10^n;
Hope this helps !

1 commentaire

ABHISHEK BHARDWAJ
ABHISHEK BHARDWAJ le 8 Nov 2019
Thank you for the answer... but I want fmincon to return answer like this only... as I am using constraints like some of variables equal to 1...and there are lots of variables involved.
fmincon is returning all the variables with very small values and sum constraint satisfied. But I want significant values for some variables. If I use above code in this case...than all variables will become zero.

Connectez-vous pour commenter.

Tags

Commenté :

le 17 Août 2020

Community Treasure Hunt

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

Start Hunting!

Translated by