Index exceeds matrix dimensions. -error

I am keep getting this error
??? Index exceeds matrix dimensions.
Error in ==> gaussmix at 130 m=xs(mod((1:k)-1,n)+1,:); % just include all points several times
Error in ==> matlab at 160 [smiech_means,smiech_variances,smiech_weights] = gaussmix(mfcc_smiech,[],[],8,'hf');

 Accepted Answer

Matt J
Matt J on 21 Jan 2014
Edited: Matt J on 21 Jan 2014
Use DBSTOP to examine 'k' vs. length(xs) inside gaussmix.
It might also be advisable not to name your main function 'matlab'.

6 Comments

Monica commented:
How can I use DBSTOP to examine 'k' vs. length(xs) inside gaussmix?
I changed name my function and all time is the same error
If you execute at the command line
>> dbstop if error
and then re-run, the code execution will pause at the line giving the error
m=xs(mod((1:k)-1,n)+1,:);
You can then examine whether mod((1:k)-1,n)+1 produces a value that is greater than the number of rows in xs. I assume you wrote this code and have reason to think it should not do this.
I didn't write code gaussmix. This code is ready in matlab (it is from toolbox)
Matt J
Matt J on 21 Jan 2014
Edited: Matt J on 21 Jan 2014
It doesn't appear to be a toolbox command for direct use by users. I can't find it anywhere in the online documentation.
Matt J
Matt J on 21 Jan 2014
Edited: Matt J on 21 Jan 2014
Well, if you understand what the code is doing (or even if you don't), DBSTOP will help you understand where it's gone wrong, or what bad input you might have given it. Otherwise, you may have to go to the authors of that toolbox for help.

Sign in to comment.

More Answers (0)

Asked:

on 21 Jan 2014

Edited:

on 21 Jan 2014

Community Treasure Hunt

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

Start Hunting!