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.

 Respuesta aceptada

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 comentarios

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! :)
Accept Sean's answer.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Software Development en Centro de ayuda y File Exchange.

Preguntada:

el 28 de Jun. de 2011

Community Treasure Hunt

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

Start Hunting!

Translated by