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.

 Réponse acceptée

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 commentaires

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! :)

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Software Development dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by