Asked by Royi Avital
on 9 Aug 2012

Hello, I would like to optimize to following expression:

Note: All are matrices.

I'd like to find:

How would you do that in MATLAB?

How would you use 'lsnonlin'?

What would be the analytical Jacobian?

Thank You.

*No products are associated with this question.*

Answer by Alan Weiss
on 10 Aug 2012

Accepted answer

I am not sure that I understand your notation, such as \|| . \||_F. But if you can write your objective function as a sum of squares, then you can use lsqnonlin. Otherwise, use fminunc.

You need to formulate your problem so there is a single vector or matrix of unknowns, x, that is what you want to vary. For example, if C^2 is M-by-N, and E^2 is N-by-K, then you could write

C2 = reshape(x(1:M*N),M,N); E2 = reshape(x(M*N+1:end),N,K);

and minimize over a vector x that has MN + NK components.

Because I do not understand your notation, I cannot tell you what the Jacobian might be. You can look here or here for some help on calculating Jacobians.

Good luck,

Alan Weiss

MATLAB mathematical toolbox documentation

Royi Avital
on 11 Aug 2012

Opportunities for recent engineering grads.

## 1 Comment

## Royi Avital (view profile)

Direct link to this comment:http://nl.mathworks.com/matlabcentral/answers/45628#comment_93760

Anyone?!?!