MATLAB Answers


Subscript indices must either be real positive integers or logicals

Asked by Nina
on 28 Dec 2012

Hi all,

I'm trying to do the following:

% simulate a Poisson process with rate \lambda = 3/2
lambda = 3/2;
% MATLAB function poissrnd uses the waiting time method
random_sample = poissrnd(lambda, 1, 4000)
% estimate the distribution
p = poisscdf(random_sample, lambda)
% plot the distribution
x = min(random_sample):1:max(random_sample)
y = double(poisscdf(x, lambda))
z = x+1

but I keep getting this error message. Does anyone know what could the problem be?

Thanks a lot!


Jan Simon
on 28 Dec 2012

Please post a copy of the error message, which reveals e.g. the line, which causes the error.

on 29 Dec 2012

Actually, it worked well after I tried to run it again. Thanks for your time!


1 Answer

Answer by Jan Simon
on 28 Dec 2012
Edited by Jan Simon
on 28 Dec 2012
 Accepted answer

I can guess only at the moment, that one of the commands has been defined as variable before, e.g. poissrnd, poisscdf, min, max, double or plot. The standard procedure to locate the problem is using the debugger:

dbstop if error

Then run your program again until Matlab stops in the line, which causes the error. Now let which min -all or whatever commands are used in the line show you the definition of the symbols. In general, avoid to use names of built-in functions as names of variables, because this causes problems frequently.


Join the 15-year community celebration.

Play games and win prizes!

Learn more
Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!