alves077 Posted April 27, 2013 at 06:59 PM Report #505012 Posted April 27, 2013 at 06:59 PM Boa tarde, Estou de volta de um erro e não estou conseguir solucionar. Seguinte erro: Subscript indices must either be real positive integers or logicals. o código que tenho é algo assim, é só um excerto for( i=1:y: h) maximo = max(abs(vector(max_100))); end dá esse erro na segunda linha dentro do ciclo for. a calcular o maximo. Os valores do vector estão compreendidos entre 0 e 1. Não percebo porque tão acontece... Alguém dar uma ajudar? Obrigado pela atenção, alves077
Rui Carlos Posted April 27, 2013 at 07:10 PM Report #505013 Posted April 27, 2013 at 07:10 PM Qual é o valor de max_100? Por que é que estás a repetir a mesma operação dentro de um ciclo? Rui Carlos Gonçalves
alves077 Posted April 27, 2013 at 08:09 PM Author Report #505016 Posted April 27, 2013 at 08:09 PM (edited) Ok saltei umas instrução do ciclo for(i=1:y:h) x2 = x(i : i+length_h-1)), 100 * length_h); maximo = max(abs(x2(indice_maximos))); end O max é um vector que tem elementos que variam entre 900 e 2000. No x2 construo uma função com várias janelas, e depois queria obter os respectivos valores que estão guardados no vector max. Obrigado pela atenção, alves077 Edited April 27, 2013 at 11:29 PM by alves077
Rui Carlos Posted April 27, 2013 at 08:38 PM Report #505017 Posted April 27, 2013 at 08:38 PM Tens aí problemas com aninhamento de parêntesis. E pela descrição que dás, fico com a ideia que querias max(x2) em vez de x2(max). (E chamar max a um array é capaz de não ser grande ideia.) Rui Carlos Gonçalves
alves077 Posted April 27, 2013 at 11:32 PM Author Report #505028 Posted April 27, 2013 at 11:32 PM Editei o meu código o que queria fazer era o maximo do array que construindo esse array segundos os indices indeci_maximos. Ja imprimir os valores do array, dos indeci_:maximo são todos inteiros, não percebo porque deste erro. Obrigado pela atenção, alves077
Rui Carlos Posted April 28, 2013 at 10:50 AM Report #505047 Posted April 28, 2013 at 10:50 AM Esta expressão x2 = x(i : i+length_h-1)), 100 * length_h) continua a não fazer sentido (ver parêntesis). Mas se o erro está nesta linha maximo = max(abs(x2(indice_maximos))); diria que o problema é o valor do indice_maximos. Rui Carlos Gonçalves
alves077 Posted May 1, 2013 at 08:41 AM Author Report #505435 Posted May 1, 2013 at 08:41 AM Bom dia, Acho que já consegui resolver o problema, sinceramente já não sei bem onde estava o problema, mas acho que o erro passava mesmo pelo nome do array, mesmo estando max_100. Obrigado pela ajuda, alves077
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now