Dimension mismatch error while using FMINSEARCH

I keep getting this error message.
??? Subscripted assignment dimension mismatch.
Error in ==> fminsearch at 205
fv(:,1) = funfcn(x,varargin{:});

1 commentaire

Matt Tearle
Matt Tearle le 2 Mar 2011
This contains even less information than the duplicate (2358), although the title is more descriptive. Any chance you can kill this one, and change the title of 2358? (Or kill 2358 and give more info here.) Otherwise we're going to end up with parallel discussions.

Réponses (3)

Paulo Silva
Paulo Silva le 2 Mar 2011

0 votes

funfucn is returning more lines than you have in the variable fv

1 commentaire

buxZED
buxZED le 2 Mar 2011
function J=P5Function(Sig)
global c2 z
J=0;
for k=1:201;
s1=c2*(k);
s2=exp(-z(k)^2/(2*(Sig)^2));
J=J+(s1-s2)^2;
end
above is a seperate M. file
below is what im trying to execute
tryed like 100 times, but cant find a errer
sig4=fminsearch('P5Function',1.5);% minimse the cost function using 'fminsearch' giving a predicted value for sigma4
c44=exp(-z.^2/(2*(sig4)^2));% Use global value for 'z' and predicted value for sigma4 to find a forth predicted value for average plume concentration ratio 'c'
e4=c2-c44;% calculate prediction error between global c2 (average plume concentration ratio) and the forth predicted plume concentration
pleese point me in the right derection
Walter Roberson
Walter Roberson le 2 Mar 2011

0 votes

Answered in your duplicate question #2358

2 commentaires

buxZED
buxZED le 2 Mar 2011
still gives the same error
?? Subscripted assignment dimension mismatch.
Error in ==> fminsearch at 205
fv(:,1) = funfcn(x,varargin{:});
Error in ==> Q5 at 99
sig4=fminsearch(@P5Function ,1.5);% minimse the cost function using
'fminsearch' giving a predicted value for sigma4
At the beginning of your P5Function, put in
disp(size(Sig))
and at the end put in
disp(size(J))
fminsearch documents that the function needs to return a scalar output, but does not document what the array size passed in will be exactly. I believe that the array size passed in should be the same as the array size of the initial value, but it doesn't hurt to check experimentally.

Cette question est clôturée.

Tags

Question posée :

le 2 Mar 2011

Clôturé :

le 20 Août 2021

Community Treasure Hunt

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

Start Hunting!

Translated by