MATLAB Answers

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

24 views (last 30 days)
Sanam Limbu
Sanam Limbu on 5 Nov 2019
Commented: Sanam Limbu on 5 Nov 2019
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

  0 Comments

Sign in to comment.

Accepted Answer

galaxy
galaxy on 5 Nov 2019
You copy only print_list function to other file and save print_list.m in Matlab
It will be OK

  2 Comments

Steven Lord
Steven Lord on 5 Nov 2019
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 on 5 Nov 2019
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.

Sign in to comment.

More Answers (0)

Sign in to answer this question.

Tags


Translated by