Error: Index exceeds matrix dimensions.

Hi I am getting this error "Index exceeds matrix dimensions" for the following:
c(2:T-1)=(epsilon(2:T-1)'.*n(2:T-1))*Fn+(1+Fk)*k(1:T-2)-k(2:T-1);
How can I solve it? thanks

3 commentaires

Andreas Goser
Andreas Goser le 14 Mai 2012
One needs the content of the respective variables.
dpr
dpr le 14 Mai 2012
the values are these:
k=[k0 0.01*ones(size(1:T-2))]
n=ones(size(1:T-1))
epsilon(1:T,1)=2
Sargondjani
Sargondjani le 14 Mai 2012
it looks fine, but you should check the sizes of epsilon, n and k
you can use 'dbstop' so matlab stops just before this command, then you can see in the workspace what their size is

Réponses (1)

Jan
Jan le 14 Mai 2012
This is a task for the debugger, while it is impossible to guess the reason of the problem based on the information you have posted.
Either use dbstop if error or set a breakpoint in the M-file directly. Then inspect the sizes of the variables:
disp(T);
disp(size(epsilon))
disp(size(n));
disp(size(k))
Then you will find out, which of the variables has an unexpected size.

Cette question est clôturée.

Tags

Question posée :

dpr
le 14 Mai 2012

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