Clear Filters
Clear Filters

fmincon optimize matrices of different size

2 views (last 30 days)
Ciao everyone.
I am trying to use fmincon for an optimization task. And I am not sure if fmincon can do this.
For an easy example:
There is a matrix x1 (size 3*3), and there is another matrix x2(size 4*4)
The objective function is
fun = A1*(x1-A)^2*A1'+ B1*(x2-B)^2*B1'
size of A1 is 1*3
A is 3*3
B1 is 1*4
B is 4*4
so we get objective function as a scalar.
The normal approach is to reshape the x1 and x2 and put them into a single vector x for optimization.
My question is that is there a way to formulate the x as x = [x1, x2] directly as matrices of different sizes?

Accepted Answer

Matt J
Matt J on 8 Oct 2021
Edited: Matt J on 8 Oct 2021
x1=optimvar('x1',3,3);
x2=optimvar('x2',4,4);
fun = fcn2optimexpr( @(x1,x2) A1*(x1-A)^2*A1'+ B1*(x2-B)^2*B1' ,x1,x2)
p=optimproblem('Objective',fun);
sol=solve(p)

More Answers (0)

Categories

Find more on Get Started with Optimization Toolbox in Help Center and File Exchange

Tags

Products


Release

R2021b

Community Treasure Hunt

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

Start Hunting!