Minimisation of object function having 2d array as variables.

2 views (last 30 days)
I want to minimise the following function using the optimtool.
eqn.png
Can anyone help me with its code. I am having problem having to use 2d array as the variables.

Answers (1)

Thiago Henrique Gomes Lobato
Any 2D array can be represented with a vector, which is the normal input to optimization functions, so all you need to do is write your function to take a vector as input and them convert it to a matrix. A minimalist example:
x = randn(7); % Original matrix
opt = fun(x(:)); % Convert matrix to a vector for function
function opt = fun(x)
x = reshape(x,7,7) % Convert vector to matrix
%... your functio
end

Products


Release

R2019a

Community Treasure Hunt

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

Start Hunting!