How can I input my own function? I type function [dist,vel,acc]= free_fall(t)or anything just involving the word function and receive an error message reading "FUNCTION keyword use is invalid here. This might cause later messages about END". I save the function as the script. Can not seem to figure it out.

 採用された回答

Jan
Jan 2013 年 7 月 29 日
編集済み: Jan 2013 年 7 月 29 日

2 投票

Function definitions are not allowed inside the Command Window or insider an M-script file, but only inside a function-M-file. You can recognize them by the first word "function".
The functions are defined either as sub-functions, after the main function has finished, or as nested function inside another function.
function Out = MainFunction(In)
disp('I''m the main function');
Nested;
SubFunction;
Nested;
function Nested
disp('I''m nested'');
end
end
function SubFunction
disp('I''m the sub function');
end
If you use nested function or any function is closed by end, all functions in an M-file must be closed by a trailing end.

その他の回答 (1 件)

David Sanchez
David Sanchez 2013 年 7 月 29 日

0 投票

function [dist,vel,acc]= free_fall(t)
% The code of your function here
...
...
% no need of adding "end"

2 件のコメント

Richard
Richard 2013 年 7 月 29 日
No, I didn't place the end on my code that is what the error message reads. When I run the code it also reads "Function definitions are not permitted in this context". in the command window. Thanks for trying though.
David Sanchez
David Sanchez 2013 年 7 月 29 日
did you place your function in its own m-file, I mean, no any other code before the function declaration? Your error message is received when that is done. Functions has to be save in their own m-file.

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

カテゴリ

タグ

質問済み:

2013 年 7 月 29 日

コメント済み:

2016 年 4 月 7 日

Community Treasure Hunt

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

Start Hunting!

Translated by