Why the user-defined function return an empty matrix when there is a division formula about global variables?

1 次查看(过去 30 天)
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

采纳的回答

Mehmed Saad
Mehmed Saad 2020-5-1
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 =
[]

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by