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 Kommentare

Andreas Goser
Andreas Goser am 14 Mai 2012
One needs the content of the respective variables.
dpr
dpr am 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 am 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

Antworten (1)

Jan
Jan am 14 Mai 2012

0 Stimmen

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.

Diese Frage ist geschlossen.

Tags

Gefragt:

dpr
am 14 Mai 2012

Geschlossen:

am 20 Aug. 2021

Community Treasure Hunt

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

Start Hunting!

Translated by