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.

 Akzeptierte Antwort

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 Kommentare

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.
It worked. thanks a lot! :)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Software Development finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by