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

5 views (last 30 days)
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?

Accepted Answer

Walter Roberson
Walter Roberson on 8 Sep 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 Comments
Jan
Jan on 9 Sep 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 on 9 Sep 2013
You need to pass in T_P when you call it from the command line. For example
result = Calculate_C_Prob(42)

Sign in to comment.

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!