Jump to content

Recommended Posts

Posted

Boas tardes pessoal, eu sou novo aqui no site.

Eu estou com um problema em MATLAB onde tenho que dividir 1 sinal em segmentos de 100, e depois fazer a média de cada segmento.

Só que eu não sei como fazer a média depois de dividir o segmento.

"Divida o sinal em segmentos de 100 pontos" o sinal tem 100000 pontos mas tenho que fazer a média de 100 em 100 pontos, como poderei fazer ?

Já tentei um ciclo for, mas a questão é mesmo como fazer a média de cada ponto depois.

Posted

Dado um array, o MATLAB tem uma função que calcula a média (mean), esta função também permite calcular a média de cada uma das colunas de uma matriz. Com um ciclo for é relativamente simples fazer isso, mas também é possível fazê-lo sem ciclos (e bastante mais eficiente em MATLAB).

Se sabes que o sinal completo tem sempre 100000 pontos, vais ficar com 1000 segmentos. Uma forma de resolver o problema (sem usar ciclos) seria esta(supondo que o sinal inicialmente está na variável sinal):

//dividir o sinal em 1000 segmentos de 100 pontos cada (i.e uma matriz 100x1000 em que cada coluna é um segmento)
segmentos = reshape(sinal,100,1000); 
//calcular a média de cada uma das colunas(i.e. cada segmento de 100 pontos) usando a função mean
medias = mean(segmentos); 

Não respondo a dúvidas por mensagem.

Posted

Boa tarde,

Eu tenho uma questão em MATLAB, tenho um sinal (Biossinal) com 1*100000, eu precisava de dividir o sinal por Ensemble Averaging em segmentos de 100 pontos e fazer a média de cada 1 dos segmentos.

Como é que a utilizar um ciclo for  posso dividir o sinal de 100000 pontos em segmentos de 100 e fazer a média deles, para depois guardar e amostrar em plot todos os pontos da média, ou seja,

de 1-100 (Média 1), de 101-200(Média 2), etc... até 100000 e depois no plot demonstrar num sinal todos os pontos. eu tentei fazer por reshape:

segmentos = reshape(biossinal,100,1000);

m= (segmentos);

M=mean(m);

mas isto não faz o que eu preciso, será que alguem me pode dizer como fazer isto por ciclo for? , pois é desta maneira que o meu enunciado exige.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.