Please help me fix this "Error: Function definitions are not permitted in this context. "

I keep getting the message "Error: Function definitions are not permitted in this context" whenever I try to declare a function.
The code I used was:
function T = truth_table(N) L = 2^N; T = zeros(L,N); for i=1:N temp = [zeros(L/2^i,1); ones(L/2^i,1)]; T(:,i) = repmat(temp,2^(i-1),1); end
(then this message appears)
??? function T = truth_table(N)
|
Error: Function definitions are not permitted in this context.
I tried copying a simple code from a tutorial that is quite similar to what I used.
function Answer = tenTimes(x)
Answer = 10 * x;
But still, this message appears:
??? function Answer = tenTimes(x) | Error: Function definitions are not permitted in this context.

 Accepted Answer

That is how you define the function, not how you call it:
function y = truthtable(x)
%save this as truthtable.m
y = 3*x;
call it from the command line or another function with:
y = truthtable(42);

4 Comments

Yes, I am trying to define a function here. I found this answer somewhere...
"You can only define functions in function files; you can't define them in script files or at the command line."
I think that could be the problem... But I don't know how to go to function files. I only know the command window and script files ( this is the editor I think)...
Yes. So open the editor,
and define it as a function by having the first non-comment line be:
function [outputs] = name_of_func(inputs)
%meat of the function
Then save it as name_of_func
and call it. Just like I did above.

Sign in to comment.

More Answers (0)

Categories

Find more on Software Development in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!