Fminsearch for matrices

Hi, how can i use fminsearch function for more than one dimension.
I am trying to do some thing like f=@(X)min(A-B*X), where A and B are given matrices. When I try to do fminsearch(f,x) i get the following error
??? Error using ==> minus Matrix dimensions must agree
so is there a way? Thanks

 Akzeptierte Antwort

Andrew Newell
Andrew Newell am 21 Apr. 2011

0 Stimmen

It sounds like the problem is with the dimensions of B*X. Does your initial value x0 have the same dimensions as A and B?

4 Kommentare

srinadh
srinadh am 21 Apr. 2011
so let me give u a sample code.
A=[1;1];
B=[2,1;4,3];
f=@(X)(A-B*X);
fminsearch(f,[1;2]);
srinadh
srinadh am 21 Apr. 2011
surprising thing is that when I define f=@(X)(A-B*[X(1);X(2)]); I still get an error. But for f=@(X)norm(A-B*[X(1);X(2)]);, it works perfectly!
Andrew Newell
Andrew Newell am 21 Apr. 2011
Ah, I see the problem. FMINSEARCH can only accept functions that have a scalar as output. Fortunately, the function with the norm in it seems to be what you want.
srinadh
srinadh am 21 Apr. 2011
Oh, that's the issue. Thanks for the help :)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Mathematics finden Sie in Hilfe-Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by