2012-05-25 4 views
0

J'ai un vecteur "Xt" où les dimensions Xt sont 12588 X 1. A partir de ce vecteur J'applique ce code:erreur de dimension + boucle Matrix à Matlab

S=sum((abs(Xt(2:end)-Xt(1:end-1))).^2);

qui se traduit par un numéro où S est un 1by1.

Maintenant, mon objectif est de construire un vecteur S (Nx1) où chaque valeur S dépend de J et K - par exemple:

S=sum((abs(Xt(**J**:end)-Xt(**K**:end-1))).^2);

Au début, je pensais à la (I don « t veulent J ne dépasse pas 126):

for j=2:126 k=1:125, S=sum((abs(Xt(j:end)-Xt(1:end-k))).^2); end; end;

j'ai eu l'erreur: "erreur en utilisant - dimensions de la matrice doivent être d'accord."

Est-ce un problème de dimension plus un problème de boucle?


je viens de réaliser que ce code fonctionne

for j=2:2 k=1:1; 

S = somme ((abs (Xt (j: end)-XT (1:. Fin k)))^2); fin; Donc c'est vraiment un problème de dimension de la matrice!

Répondre

1

Pour fermer cette question:

qui est la façon dont je l'ai résolu ce petit problème il y a 2 semaines:

for j=2:2 k=1:1; 
S=sum((abs(Xt(j:end)-Xt(1:end-k))).^2); end; 

très simple

(I était nouveau pour Matlab)