Hello
je précise que je tourne sous matlab 2011b
j'ai besoin d'utiliser la fonction interp3 dans un bloc "matlab function" (ex embedded)
en 2011b cette fonction n'est pas compilable (elle l'est en 2014a), du coup je suis obligé d'utiliser l'instruction "coder.extrinsic"
problème : les aller retours simulink matlab induits rendent la simulation extrement lente
je cherche donc à accélérer tout ca (et sans utiliser de bloc look up table)
pour donner des ordres de grandeurs, 10000 interpolations durent :
- 1 seconde avec un bloc look up table
- 124 sec avec interp3
- 81 sec avec interp3 et '*linear' comme méthode d'interpolation
mon but est donc d'avoir qqch de compilable, cela me parait nécessaire pour retrouver de la rapidité
j'ai regardé du coté d'une fonction "rapide" d'interpolation 3d dispo sur matlab central : lininterp3
même en modifiant ce qui est nécessaire (suppression des warnings et modification des conditions sur vecteurs logiques) je n'arrive pas à faire tourner cette fonction simple sans l'instruction "coder.extrinsic" : erreur dans les multiplications de matrice en mode "compilé"
(pour info en mode extrinsic elle dure 80sec pour 10000 interpolations)
bref, je sèche
une idée ?
merci
Fabien
Partager