MATLAB: accéder aux variables lorsque le code est toujours en cours d’exécution

J’ai une requête, j’ai untandis queboucle qui est en cours d’exécution et produit une matrice (disons matrice alpha) qui ajoute une nouvelle colonne de données à chaque fois que la boucle se répète (donc une matrice croissante), mais j’ai besoin d’utiliser ces dernières données de colonne dans une autre fonction (disonsfonction x), mais le hic, c’est que je ne peux pas ajouter le nouveaufonction xà l’intérieur detandis queboucle depuisfonction xest un gros code et s’exécute plus longtemps, ce qui entrave l’exécution d’untandis queboucle.
Existe-t-il un moyen d’accéder simplement à la matrice alpha pendant que letandis quela boucle est toujours en cours d’exécution et exécute séparément la fonction x seule.
Une exécution de code essentiellement parallèle est souhaitée, les données étant extraites d’un code en temps réel et utilisées dans un autre code de manière séquentielle.

Meilleure réponse

  • Faites effectuer le travail par deux travailleurs du SPMD.
    Chaque fois que le premier termine un tour, il doit labSend () au deuxième travailleur.
    Chaque fois que le second est prêt pour plus de travail, il doit boucler:
     

    quitting = false;
    while true
    nothing_to_do = true;
    while ~quitting && labProbe()
    current_data = labReceive();
    if isempty(current_data)
    quitting = true;
    else
    nothing_to_do = false;
    end
    end
    if quitting
    break;
    end
    if nothing_to_do
    pause(1); %wait for the other side to send us something
    continue;
    end
    %now work on data in current_data
    end