Azzera filtri
Azzera filtri

Info

Questa domanda è chiusa. Riaprila per modificarla o per rispondere.

Dimension mismatch error while using FMINSEARCH

1 visualizzazione (ultimi 30 giorni)
buxZED
buxZED il 2 Mar 2011
Chiuso: MATLAB Answer Bot il 20 Ago 2021
I keep getting this error message.
??? Subscripted assignment dimension mismatch.
Error in ==> fminsearch at 205
fv(:,1) = funfcn(x,varargin{:});
  1 Commento
Matt Tearle
Matt Tearle il 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.

Risposte (3)

Paulo Silva
Paulo Silva il 2 Mar 2011
funfucn is returning more lines than you have in the variable fv
  1 Commento
buxZED
buxZED il 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

buxZED
buxZED il 2 Mar 2011
any help?

Walter Roberson
Walter Roberson il 2 Mar 2011
Answered in your duplicate question #2358
  2 Commenti
buxZED
buxZED il 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
Walter Roberson
Walter Roberson il 2 Mar 2011
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.

Questa domanda è chiusa.

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by