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

1 visualización (últimos 30 días)
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

Respuesta aceptada

Mehmed Saad
Mehmed Saad el 1 de Mayo de 2020
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 =
[]

Más respuestas (0)

Categorías

Más información sobre Logical en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by