Dear Dimitri, List,
for your information: we encountered the same problem as Dimitri posted
some time ago (and see below) during model erstimation:
http://www.jiscmail.ac.uk/cgi-bin/wa.exe?A2=ind0504&L=spm&P=R27771&I=-1
I was running a 4 factor ER-fMRI model with 2 sessions, we use matlab
R14 SP1 (v7.01.2470) (on 64 bits Fedora Core 2). This bug seems to
appear with models (but only sometimes) that are not of full rank (when
2 intercepts are present, 1 for each session, I think that makes the
rank of a design matrix one less then full?). Dimitri pointed out that
he sees this problem on R14 SP2 only, but I see it under SP1 as well. I
tried to run through the code in debug mode, but I can't pinpoint it. It
seems serious to me.
Dimitri's fix (feature('jitallow','structs','off');) did not work for
me, I still get this error (same as Dimitri):
ReML Block - 2
ReML Iteration :1 ...1.325101e
+06
ReML Iteration :2 ...4.620588e
+04
ReML Iteration :3 ...3.272905e
+18
ReML Iteration :4 ...1.581537e-01
ReML Iteration :5 ...4.936704e
+24
SPM2: spm_spm (v2.66) 01:20:03 - 30/04/2005
=======================================================================
Initialising
parameters : ...computing??? Index
exceeds matrix dimensions.
Error in ==> spdiags at 114
a((len(k)+1):len(k+1),:) = [i i+d(k) B(i+(m>=n)*d(k),k)];
Error in ==> spm_spm at 420
s = spdiags(1./sqrt(diag(s)),0,nScan,nScan);
Error in ==> spm_spm at 827
SPM = spm_spm(SPM);
Error in ==> spm_batch at 625
SPM = spm_spm(SPM);
Perhaps anyone found a fix by now? I'm afraid not, Matlab 7 does not to
seem the majority platform among spm2 users yet ...
Cheers,
Bas
Op ma, 25-04-2005 te 13:54 +0200, schreef Dimitri Papadopoulos-Orfanos:
> Hello,
>
> For your information, we have seen crashes of SPM2 after upgrading from
> Matlab 7.0.1 (14SP1) to Matlab 7.0.4 (R14SP2). These crashes happen only
> for some of our data:
>
> SPM2: spm_spm (v2.66) 12:09:43 - 07/04/2005
> ========================================================================
> Initialising parameters :
> ...computing??? Index exceeds matrix dimensions.
>
> Error in ==> spdiags at 114
> a((len(k)+1):len(k+1),:) = [i i+d(k) B(i+(m>=n)*d(k),k)];
>
> Error in ==> spm_spm at 420
> s = spdiags(1./sqrt(diag(s)),0,nScan,nScan);
>
> Error in ==> spm_spm at 827
> SPM = spm_spm(SPM);
>
> Error in ==> batch_spm2 at 18
> spm_spm(SPM)
>
>
> Before the crash other suspicious warning messages are printed:
>
> "Matrix is singular, close to singular or badly scaled.
> Results may be inaccurate. RCOND = NaN."
>
>
> With help from Mathworks support we disabled JIT optimizations as
> desribed here:
> http://www.mathworks.com/support/solutions/data/1-PU6AA.html
> and the crashes disappeared. What I still can't explain is why we can
> reproduce the problem in R14SP2 only, the bug is supposed to be present
> in all R14 versions.
>
>
> Therefore I would suggest adding something like this to SPM2:
> if ~isempty(findstr('R14',version))
> feature('jitallow','structs','off');
> end
>
> --
> Dimitri Papadopoulos
|