2012-10-17 3 views
1

I ont un objet d'entrée analogique (winsound) la prise d'échantillons et l'exécution d'une tâche sur audio dans MATLAB.utilisation d'autres fonctions aux côtés de la fonction d'entrée analogique

set(AI, 'SamplesAcquiredFcnCount',num_samples) 
set(AI, 'SamplesAcquiredFcn',{@function1,AI,num_samples}) 

Ma compréhension est que l'objet d'entrée analogique ne cesse de prélever des échantillons, et donc function1 continue d'être appelé lorsque les échantillons atteignent le nombre défini. Alors il a « priorité ».

Maintenant, j'ai une autre fonction (fonction2), que je veux traiter en continu les variables (globales) que les function1 mises à jour. Mon problème est que dans ma fonction de mise en œuvre actuelle2 ne reviendra pas et regarder les variables mises à jour à partir de l'entrée analogique.

Je souhaite appeler fonction2 de façon continue jusqu'à une certaine durée ou condition, mais comment puis-je lui faire voir les variables mises à jour à partir de la fonction d'entrée analogique1? (Ils sont déjà une dimension mondiale, mais une fois fonction2 a commencé il ne reçoit pas les variables mises à jour, seulement comme ils étaient quand il a commencé).

J'ai essayé de regarder dans des trucs dans la boîte à outils de calcul parallèle pour me aider, mais n'a rien trouvé. J'apprécie vraiment toute aide! Cela va vraiment mon projet ensemble reconstituer

Répondre

2

En fin de compte la meilleure façon d'assurer un bon fonctionnement côte à côte est juste pour appeler à l'intérieur fonction2 function1. Comme la fonction1 est bien contrôlée comme rappel dans l'objet d'entrée analogique, c'est la manière la plus sûre de s'y prendre.

Questions connexes