Matlab et les boucles
anonyme
-
anonyme -
anonyme -
Bonjour,
j'ai un petit problème avec les boucles :
for i=1:length(Y)
if Y<=-0.1
y(i,1)=1
else
y(i,1)=0
end
end
voilà la boucle. Elle a pour but de regarder quand la ligne i de Y (qui est l'amplitude d'un fichier wav issue d'un wavread) est inférieure à -0.1. Si c'est le cas, elle transforme ,dans une matrice y de même longueur, la ligne correspondante en 1 ou en 0 si la condition est réalisée de sorte à avoir une sorte de signal carré.
mais le problème c'est que Y comporte plus de 710000 points et je peux difficilement la rétrécir. Et à chaque boucle, la boucle me réecrit la matrice y qui fait 710000 points et donc ceci 710000 fois donc c'est interminable !!
J'arrive pas à trouver un moyen pour traiter les lignes une par une pour que la matrice Y soit examiner q'une seule fois
pouvez vous m'aider, pas me sortir un code, mais m'expliquer une autre façon de procéder
Merci
j'ai un petit problème avec les boucles :
for i=1:length(Y)
if Y<=-0.1
y(i,1)=1
else
y(i,1)=0
end
end
voilà la boucle. Elle a pour but de regarder quand la ligne i de Y (qui est l'amplitude d'un fichier wav issue d'un wavread) est inférieure à -0.1. Si c'est le cas, elle transforme ,dans une matrice y de même longueur, la ligne correspondante en 1 ou en 0 si la condition est réalisée de sorte à avoir une sorte de signal carré.
mais le problème c'est que Y comporte plus de 710000 points et je peux difficilement la rétrécir. Et à chaque boucle, la boucle me réecrit la matrice y qui fait 710000 points et donc ceci 710000 fois donc c'est interminable !!
J'arrive pas à trouver un moyen pour traiter les lignes une par une pour que la matrice Y soit examiner q'une seule fois
pouvez vous m'aider, pas me sortir un code, mais m'expliquer une autre façon de procéder
Merci
A voir également:
- Matlab et les boucles
- Xiaomi s'éteint tout seul et se rallume en boucle - Forum Xiaomi
- Pc qui s'allume et s'éteint en boucle - Forum Virus
- Huawei s'allume et s'éteint en boucle - Forum Huawei
- Redémarrage en boucle Xiamo mi note 10 - Forum Xiaomi
- Télé samsung s'éteint et se rallume en boucle - Forum TV & Vidéo
3 réponses
je crois que je me suis mal fait comprendre,
je veux savoir si à la ligne i de Y, la valeur est infèrieure à -0.1
je veux pas savoir si la longueur de Y (710000 et des brouettes) est infèrieure à -0.1
mon programme s'exécute et marche, enfin du moins pour le début, mais vu qu'à chaque fin de boucle il me réécrit un vecteur de 710000 points, beh ça prend du du temps...
en gros est ce que matlab peut changer une valeur dans un vecteur sans le réécrire en entier?
je veux savoir si à la ligne i de Y, la valeur est infèrieure à -0.1
je veux pas savoir si la longueur de Y (710000 et des brouettes) est infèrieure à -0.1
mon programme s'exécute et marche, enfin du moins pour le début, mais vu qu'à chaque fin de boucle il me réécrit un vecteur de 710000 points, beh ça prend du du temps...
en gros est ce que matlab peut changer une valeur dans un vecteur sans le réécrire en entier?