Declaring a global variable to be used across functions and/or scripts in MATLAB

5 visualizaciones (últimos 30 días)
Hi
I've declared a global variables I in a script file named "xyz.m"
global I;
T_P = ones(1,I);
which will call the following function:
[C_Prob] = Calculate_C_Prob();
The function, which is in another file named Calculate_C_Prob.m is defined as:
function [C_Prob] = Calculate_C_Prob();
I = 5;
for i=1:I
t = prod(1-T_P(i+1:end));
end
Now, I is a constant and should remain I = 5 in both the script as well as in the function.
Is the above declaration of the global variable correct? Also, T_P (whose value can change with time) be accessible in the function file? If not, then how to make it so?

Respuesta aceptada

Walter Roberson
Walter Roberson el 8 de Sept. de 2013
global variables need to be declared in every function that they are used.
T_P will not be available to the function when you use that code. You could declare it global as well
  8 comentarios
Jan
Jan el 9 de Sept. de 2013
@Syed: It is not useful to extract a tiny part of the error message, because important details are included in the complete message.
Image Analyst
Image Analyst el 9 de Sept. de 2013
You need to pass in T_P when you call it from the command line. For example
result = Calculate_C_Prob(42)

Iniciar sesión para comentar.

Más respuestas (0)

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by