User-defined function is "unrecognized" in command window.

This print_list function works in the script, but it gives the error message "Unrecognized function or variable 'print_list'" in the command window. I am having the same problem with all my other user-defined functions. How can I fix it?
global list list_idx;
list = ["1st", "2nd", "0"];
list_idx = [1, 1, 0];
print_list;
function var = print_list()
global list list_idx;
L = logical(list_idx);
var = list(L);
disp(var);
end

 採用された回答

galaxy
galaxy 2019 年 11 月 5 日

1 投票

You copy only print_list function to other file and save print_list.m in Matlab
It will be OK

3 件のコメント

Steven Lord
Steven Lord 2019 年 11 月 5 日
galaxy is correct. As the documentation states, "Local functions are only visible within the file where they are defined, both to the script code and other local functions within the file. They are not visible to functions in other files, and cannot be called from the command line."
If you want a function to be callable from the MATLAB Command Prompt or from other files, it needs to be the main function in its function file.
Sanam Limbu
Sanam Limbu 2019 年 11 月 5 日
Thanks! Also, I figured out that the while calling the function, the name of the file containing the function should be used. In my case, I got errors with print_list() but it worked with function_print_list() since the file name for the function was function_print_list.m.
Ali
Ali 2023 年 10 月 15 日
TY

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

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeWorkspace Variables and MAT Files についてさらに検索

タグ

質問済み:

2019 年 11 月 5 日

コメント済み:

Ali
2023 年 10 月 15 日

Community Treasure Hunt

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

Start Hunting!

Translated by