Index exceeds matrix dimensions.

3 visualizzazioni (ultimi 30 giorni)
srycandy
srycandy il 16 Giu 2011
i wrote codes: {for s = 1: 24 sigma{s,1} = var (X{s}); y{s,1} = sigma{s+1} - a*sigma{s}*a end} where a is nxn matrix. however, i got the Index exceeds matrix dimensions error. i know for s=24; y = sigma(25)-a*sigma(24)*a and sigma(25) doesn't exist.. so how to solve it? very appreciate ur kindness..

Risposta accettata

Walter Roberson
Walter Roberson il 16 Giu 2011
Your code appears to be wrong even for other cases. For example, when s = 1, you set sigma{1} first, and then constructing y, you reference sigma{2} which you have not defined yet.
It is difficult for us to tell you how to solve the problem as it is not clear what you are trying to do.
  3 Commenti
Walter Roberson
Walter Roberson il 16 Giu 2011
How do you want to define y{24,1} ? What result do you want for it?
You will need two loops (well, I might perhaps be able to write it with one, but two would be easier.)
You could also consider using cellfun. For example,
sigma = cellfun(@var, X);
would completely replace the looped calculation of sigma{s}
srycandy
srycandy il 19 Giu 2011
thank you some much.. u're right.. it's much more easier if we write it in two..

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by