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.

 採用された回答

Sean de Wolski
Sean de Wolski 2011 年 6 月 28 日
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 件のコメント

hannah
hannah 2011 年 6 月 28 日
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)...
Sean de Wolski
Sean de Wolski 2011 年 6 月 28 日
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
hannah 2011 年 6 月 28 日
It worked. thanks a lot! :)
Oleg Komarov
Oleg Komarov 2011 年 6 月 28 日
Accept Sean's answer.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeSoftware Development についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by