Existe-t-il un moyen de dire à Matlab de ne pas dérober le focus de la fenêtre (depuis un éditeur externe, tel que Emacs) avec des commandes graphiques telles que figure
et plot
. Cela augmenterait beaucoup ma productivité car je souhaite souvent poursuivre le développement du code pendant le (re) traitement des données.
Réponse
Trop de publicités?Il est possible, l'astuce est de ne pas utiliser la figure de l'énoncé, mais de changer la figure directement. Cela va changer le tracé actif sans changer la mise au point. Généralement je fais quelque chose comme ceci:
function change_current_figure(h)
set(0,'CurrentFigure',h)
Ensuite, tous les de la figure(h) les déclarations doivent être modifiés pour change_curent_figure(h).
Remarque, cela est inclus dans la documentation matlab.
Il convient de noter que ceci ne fonctionne que si le chiffre est déjà créé. Si de nouvelles données vont être périodiquement créé, on pourrait créer des figures comme la très premières lignes de code, enregistrer les poignées, le traitement, puis de la parcelle à eux. Cet exemple serait de travailler. Remarque, le drawnow de commande de vidage de la mémoire tampon d'événements, de s'assurer que tous les chiffres sont tracées.
J'ai vu ce travail de 2007 à 2010, vous ne savez pas si la dernière ou des versions antérieures de soutien, même si je n'ai aucune raison de soupçonner qu'ils ne le font pas.
fig1=figure;
fig2=figure;
drawnow;
[a b]=do_complex_processing;
change_current_figure(fig1)
plot(a);
change_current_figure(fig2)
plot(b);