Ci sono molti modi per effettuare il calcolo delle medie.
Ecco alcuni esempi:
Con due cicli for annidati (come nel codice che hai pubblicato)
Il codice che hai pubblicato, contiene alcuni errori; la versione corretta è:
for i=1:130100/100
s=0;
for j=1:100
s=s+vector(j+(i-1)*100);
end
vector_media_1(i)=s/100;
end
Con un solo ciclo for
In questo caso, il secondo ciclo "for" è sostituito da un vettore di indici (idx)
Il vettore idx contiene i valori: 1, 101, 201, 301, ... ecc.
Questi vengono usati nel ciclo "for" per identificare i "sotto-vettori" dei quali calcolare la media (prova a vedere come funzione con il debug)
idx=1:100:130100;
for i=1:length(idx)-1
vector_media_2(i)=mean(vector(idx(i):idx(i+1)-1));
end
vector_media_2(end+1)=mean(vector(idx(i+1):end));
Senza cicli "for", con una sola istruzione!!!
Questa è una "bella" soluzione:
la funzione "reshape":
help reshape
reshape Reshape array.
reshape(X,M,N) returns the M-by-N matrix whose elements
are taken columnwise from X. An error results if X does
not have M*N elements.
In pratica, nel caso specifico, crea una matrice (100 x 1301) "riorganzzando" i valori del vettore "vector".
Di questa matrice viene quindi calcolata la media, colonna per colonna (vedi l'help di MatLab per i detagli su come opera la funzione "mean")
vector_media_3=mean(reshape(vector,100,1301));
Sfruttando il fatto che, nel caso specifico le varie medie differiscono di 100 una dall'altra
media_1_100=mean(1:100);
idx=[0:100:130100];
vector_media_4=media_1_100+idx(1:end-1);
Un suggerimento importante:
nell'istruzione:
sum = vector (j+100*i);
hai usato "sum" some variabile (immagino volessi che "sum" fosse la somma degli elementi del vettore "vector" all'interno del ciclo for.
Tieni presente che in MatLab esiste la funzione "sum" che "somma" gli elementi del vettore o matrice che riceve in input (vedi l'help di MatLab per il dettagli).
Purtroppo, MatLab consente di assegnare ad una variabile il nome di una funzione (tralasciamo per il momento gli "function's handle), tuttavia, dal momento in cui si chiama una variabile col nome di una funzione, quest'ultima non è più riconosciuta come tale.
Bisogna quindi evitare di definire delle variabili in questo modo.
Nel dubbio che il nome che si vuole dare ad una variabile possa essere quello di una funzione di MatLab, puoi usare il comando "which" (dalla Command Window).
Hope this helps.