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 Comments

One needs the content of the respective variables.
the values are these:
k=[k0 0.01*ones(size(1:T-2))]
n=ones(size(1:T-1))
epsilon(1:T,1)=2
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

Answers (1)

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.

This question is closed.

Tags

Asked:

dpr
on 14 May 2012

Closed:

on 20 Aug 2021

Community Treasure Hunt

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

Start Hunting!