what does this error means-"Function definitions are not permitted at the prompt or in scripts."?

42 views (last 30 days)
EKTA DOGRA on 18 Nov 2015
Answered: Image Analyst on 20 Nov 2015
i m getting this error in communication program

Accepted Answer

Thorsten on 18 Nov 2015
Edited: Thorsten on 18 Nov 2015
To define a function, create a new m-file on the command line
>> edit myfun.m
write your function in this file, first non-command line must contain the function header using the "function" keyword, like function y = myfun(x). Save it, and call it from the command line or within another function or within a script
You've probably created a file with some matlab commands, i.e., a script, and somewhere below in this script you defined a function. That's not allowed. Either move your function to a separate file, or convert your script to a function by adding a first line like
function mycommands
Now it's a function, and you can define a function within this function. However, such a nested function is visible only within this function, not at the command line and not within other functions. And functions can be nested only one level, but there can be multiple nested functions.

More Answers (2)

Meghana Dinesh
Meghana Dinesh on 18 Nov 2015
Edited: Meghana Dinesh on 18 Nov 2015
It means you are trying to define a function in the prompt or maybe within a different script. This is not permitted in MATLAB. Define functions in their respective m-files (save the m-file with the same name as the function's). Read more about MATLAB functions .

Sign in to comment.

Image Analyst
Image Analyst on 20 Nov 2015


Community Treasure Hunt

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

Start Hunting!