# fminunc for upper and lower bound variable definition ?

14 views (last 30 days)

Show older comments

Isn't it possible to give upper and lower bound for the variables in the objective function while using fminunc ?

Thank you.

##### 0 Comments

### Accepted Answer

Ameer Hamza
on 4 Nov 2020

##### 2 Comments

### More Answers (1)

Bruno Luong
on 4 Nov 2020

Edited: Bruno Luong
on 4 Nov 2020

You could transform variables, x will be opened bounded by lo/hi

xfun = @(y) lo + (hi-lo).*sin(y).^2

...

y = fminunc(obj(xfun(y)), ...)

x = xfun(y)

Honestly I don't like those kind of transformation.

Use the right tool: fmincon as others have suggested.

##### 9 Comments

Walter Roberson
on 5 Nov 2020

fun = @(x)[x1L;x2L;x3L]+([x1U;x2U;x3U]-[x1L;x2L;x3L]).*PRSopt_QN1(x(1,:),x(2,:),x(3,:))

Unless two of x1L, x2L, x3L are empty and the third is a scalar, then you can be sure that function is going to return something that is not a scalar. You do not take the mean() there.

### See Also

### Categories

### Community Treasure Hunt

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

Start Hunting!