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

Learn moreOpportunities for recent engineering grads.

Apply Today
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!

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**

## 0 Comments