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)
Mostrar comentarios más antiguos
Zhang Gene
el 1 de Mayo de 2020
Comentada: Zhang Gene
el 3 de Mayo de 2020
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
0 comentarios
Respuesta aceptada
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)
Ver también
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!