2009-12-05 3 views
1

Je voudrais savoir s'il y a un moyen que Matlab, au lieu de l'interpréter ce que j'écris ligne par ligne, me permette d'écrire tout ce que je veux , et ne l'interprétez que lorsque j'appuie sur un bouton "Evaluer", ou quelque chose comme ça. Venant de C++/C# j'aime écrire le code que je dois, et ensuite seulement l'exécuter.Exécution de code dans MatLab/Mathematica seulement après avoir écrit tout

Aussi je n'aime pas mettre des >> dans le début de la ligne. Y a-t-il un moyen de décoller?

Je pose la même question par rapport à Mathematica. J'ai entendu dire qu'il y avait un Workbench de Wolfram (qui ne semble pas du tout connu par la plupart des gens), mais cela ne semble pas être donné aux universités, donc je ne l'ai jamais essayé.

Répondre

10

Si vous écrivez votre code dans des fichiers de code (extension .m), vous pouvez l'exécuter en une fois.

Run:

modifier my_matlab_file

puis écrire votre code dans l'éditeur. Enregistrez le fichier. Pour exécuter ce que vous venez code que vous avez quelques options:

  1. Dans la ligne de commande font

    my_matlab_file

  2. Dans l'éditeur appuyez sur la « Evaluate "bouton (petit truc vert)

  3. Dans l'éditeur, appuyez sur Ctrl + ENTER.

Pour plus de contrôle, vous pouvez également diviser votre fichier en cellules qui peut être évaluée séparément à l'aide Ctrl + ENTRER:

my_matlab_file.m:

%% Initialization (Cell 1) 
x = 1; 
y = 2; 

%% Calculation (Cell 2) 
z = x + y 

Ceci est vraiment utile lorsque vous avez une longue fichier qui prend beaucoup de temps à exécuter et vous devez faire des changements quelque part. Au lieu de tout réexécuter, vous ne pouvez évaluer que la cellule dans laquelle vous avez effectué vos mises à jour. Les fichiers .m peuvent également être utilisés pour créer des fonctions. Exemple (mymeanfund.m)

function y = mymeanfunc(x) 
% Y = MYMEANFUNC(X) calculates the mean of X 

y = sum(X(:))/numel(X) 

et l'exécuter en l'appelant:

>> m = mymeanfunc([1 2 3 4]) 
m = 2.5 

Comme une note de côté, étant donné que les versions plus récentes de Matlab, il est également tout à fait possible de développer en utilisant la POO.

+0

Parfait. Exactement ce que je cherchais! –

+0

Alors n'hésitez pas à accepter cela comme réponse :) –