MATLAB: The user-defined function return an empty matrix when there is a division formula about global variables

divisionfuncitionglobal variablesMATLABuser defined functions

Here is my code:
function ans = rho_free(xm)
global m ;%Where m = 1 is defined in the first few lines
ans = xm./m;
end
I've put this part of code at the end of the document, and defined
m = 1;
at the very begining of the same document.
When I call the function rho_free(2), I get an empty matrix. And I don't know why and have no idea how to solve this problem.
Thank

Best Answer

You need to define
global m
before calling the function rho_free. if global m is not defined m will be empty
the best way is
global m
m = 1
rho_free(2)
ans =
2
On the other hand if (clear all) is applied at the start of the code, global variable will be cleared (and last value is not retained)
Now suppose i directly call rho_free without initializing global m ( considering it has no value before) then
rho_free(2)
ans =
[]