Optimisation d'une boucle en Matlab
Résolu
donnie-darko
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Je sais que c'est mal d'utiliser les boucles en Matlab, mais je n'ai pas eu le choix. J'utilise cette boucle pour manipuler de grosses matrices (360,180,52).
for freq=1:52
for i=1:360
for j=1:180
A(i,j,freq)=10*log10(10^((B(i,j,freq))/10)+10^(C(i,j,freq)/10));
end
end
end
Je dois donc additionner 2 matrices en dB, en les linéarisant, puis repasser en dB.
Ce calcul est très couteux en temps.
L'idéal serait d'avoir une fonction matlab qui permette d'élever un nombre à une puissance qui serait l'élément d'une matrice, du genre :
10^M (je sais que c'est une aberration).
Sinon, quelqu'un pourrait me dire comment optimiser cette boucle, ou carrément l'éviter?
Merci !
Je sais que c'est mal d'utiliser les boucles en Matlab, mais je n'ai pas eu le choix. J'utilise cette boucle pour manipuler de grosses matrices (360,180,52).
for freq=1:52
for i=1:360
for j=1:180
A(i,j,freq)=10*log10(10^((B(i,j,freq))/10)+10^(C(i,j,freq)/10));
end
end
end
Je dois donc additionner 2 matrices en dB, en les linéarisant, puis repasser en dB.
Ce calcul est très couteux en temps.
L'idéal serait d'avoir une fonction matlab qui permette d'élever un nombre à une puissance qui serait l'élément d'une matrice, du genre :
10^M (je sais que c'est une aberration).
Sinon, quelqu'un pourrait me dire comment optimiser cette boucle, ou carrément l'éviter?
Merci !
A voir également:
- Optimisation d'une boucle en Matlab
- Optimisation pc - Accueil - Utilitaires
- Optimisation découpe panneau gratuit - Télécharger - Outils professionnels
- Xiaomi s'éteint tout seul et se rallume en boucle - Forum Xiaomi
- Démarrage d'android en cours optimisation de l'application - Forum Téléphones & tablettes Android
- Mon pc s'allume et s'éteint en boucle ✓ - Forum Matériel & Système
4 réponses
Ce que j'aimerais faire c'est effectuer une opération directement sur la matrice sans avoir recours aux boucles for. Par exemple, pour faire une multiplication élément par élément on fait M.*N.
Je voudrais faire la même chose pour la puissance, ca m'économiserait du temps de calcul.
Je voudrais faire la même chose pour la puissance, ca m'économiserait du temps de calcul.