Cannot have function in script, Matlab 2016b

3 vues (au cours des 30 derniers jours)
ML
ML le 10 Mai 2017
Commenté : ML le 11 Mai 2017
Hi!
I'm trying to run a script with a function declared in the bottom. This should work on 2016b version, but for me it doesn't. I have version 9.1.0.441655 (R2016b).
Why does this not work?
  2 commentaires
Stephen23
Stephen23 le 10 Mai 2017
Modifié(e) : Stephen23 le 10 Mai 2017
@Martin Larsson: what exactly does "This should work... but for me it doesn't" mean? Do you get an incorrect result, or a warning message, or an error message, do you get an infinite loop, or does MATLAB become unresponsive, or does your computer catch fire? Would you like me to call the fire brigade for you?
If you do not tell us what "not working" actually means, we have to rely on our magical crystal balls to view your computer monitor. Sadly mine seems to be on the blink today.
PS: if you get an error message, please show us the complete error message. This means all of the red text.
ML
ML le 10 Mai 2017
Sorry... I get the same message as earlier versions. "The selected section cannot be evaluated because it contains a invalid statement" and in console: "Function definitions are not permitted in this context.".
This is the same message as in earlier versions if I try to find a solution on the internet. However, I allready have the 2016b version, in which it should work?

Connectez-vous pour commenter.

Réponse acceptée

Steven Lord
Steven Lord le 10 Mai 2017
Are you trying to copy a segment of the script that includes the function definition and paste it into the Command Window, or right-clicking and selecting "Evaluate Selection"? That will not work, any more than pasting the code starting with the line that declares the function using the function keyword to the Command Window would. From the Release Notes in release R2016b for this feature:
" Note: If your script contains local functions, you cannot run code sections (also known as code cells) individually. The Run Section and Run and Advance buttons are disabled. To run the script, type the saved script name in the Command Window or click Run. You can run sections individually in live scripts containing local functions. "
  1 commentaire
ML
ML le 11 Mai 2017
Yes, this was the correct answer. I thought that you could run code sections with local functions in the end, if the function was declared in the same section. "Run" seems to work just fine. Thanks for your explanation!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Matrix Indexing dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by