Asked by Kevin van Berkel
on 10 Jun 2013

Hello all,

Anyone knows what goes wrong? I receive this error:

Index exceeds matrix dimensions.

on the following code:

X = [ones(M,1), r(:,t,1), r(:,t,2), r(:,t,3), r(:,t,4), r(:,t,5),... z(:,t,1), z(:,t,1).^2, z(:,t,2), z(:,t,2).^2, z(:,t,3),... z(:,t,3).^2, z(:,t,4), z(:,t,4).^2, z(:,t,5), z(:,t,5).^2, ... z(:,t,1).*z(:,t,2), z(:,t,1).*z(:,t,3),z(:,t,1).*z(:,t,4),... z(:,t,1).*z(:,t,5), z(:,t,2).*z(:,t,3), z(:,t,2).*z(:,t,4),... z(:,t,2).*z(:,t,5), z(:,t,3).*z(:,t,4), z(:,t,3).*z(:,t,5),... z(:,t,4).*z(:,t,5)];

referring to this function

function Weights = Portfolio_fmincon_multiple_it_state_vb_bs(r,z,gamma,r_f,constr_ON,... it_ON, N_max)

Help would be much appreciated!!

Thanks.

Kevin

*No products are associated with this question.*

Answer by Azzi Abdelmalek
on 10 Jun 2013

You should look at the sizes of r and z, and check if their indices do not exceed those sizes

Azzi Abdelmalek
on 10 Jun 2013

**Kevin van Berkel** commented

Hi Azzi, thanks for your reply.

Both r and z are 1000x20 (double) matrices.

This code is previous before the 'X=...' code:

[M,T,N_assets] = size(r); x = zeros(M,T-1,N_assets); x_0 = zeros(N_assets,1); options = optimset('Display','off','TolFun',1e-6,'LargeScale','off'); if constr_ON==1 LB = zeros(N_assets,1); UB = ones(N_assets,1); else LB = []; UB = []; end

So wat should I check?

THanks for your help!

Azzi Abdelmalek
on 10 Jun 2013

You said that r is a 1000x20 double, then why to write

r(:,t,3)

Kevin van Berkel
on 10 Jun 2013

This should capture the multiple assets included.. But it's more a gues..

Answer by Kevin van Berkel
on 10 Jun 2013

This should capture the multiple assets included.. But it's more a gues..

Azzi Abdelmalek
on 10 Jun 2013

Kevin, if you want to add a comment, just click on **comment on this answer**

Related Content

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

Learn moreOpportunities for recent engineering grads.

Apply Today
## 0 Comments