Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

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

Asked by hannah on 28 Jun 2011

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.

0 Comments

hannah

Products

No products are associated with this question.

1 Answer

Answer by Sean de Wolski on 28 Jun 2011
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

Sean de Wolski on 28 Jun 2011

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.

hannah on 28 Jun 2011

It worked. thanks a lot! :)

Oleg Komarov on 28 Jun 2011

Accept Sean's answer.

Sean de Wolski

Contact us