"Function definitions are not permitted in this context."?

I'm getting this error, but I'm not sure why. I'm using 2016a. I've attached my code file.

 Accepted Answer

In 2016a and earlier versions (I believe this changed in R2017a), you could not define functions (except anonymous functions) in a script.
The easiest solution is to create ABD.m as a function with no arguements or outputs, so:
function ABD
%%--------------- MAIN PROGRAM ---------------
... REST OF YOUR CURRENT CODE ...
end
Be sure to remember to add the final end call.
Nothing else about ‘ABD’ needs to change, except that as a function, its workspace is entirely contained within it, and will not appear in the Workspace Browser. That’s a small disadvantage, but one you can work around by simply displaying the variables you want to the Command Window. You can still call it from the Command Line as well as execute it from the Editor, since it requires no arguments.

2 Comments

As always, my pleasure!
Thank you for helping me achieve 20,000 Reputation Points!

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Asked:

on 10 Apr 2017

Edited:

on 10 Apr 2017

Community Treasure Hunt

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

Start Hunting!