How to declear global array and how to use it ?

96 views (last 30 days)
aboomnea
aboomnea on 4 May 2013
I want to declare global array and i want to use it in different function.
how to add data to this array without deleting the other data that are already on it

Accepted Answer

Jan
Jan on 4 May 2013
Edited: Jan on 4 May 2013
It is a good programming style to avoid globals. They have the bad disadvantage, that it is very hard to find out, which part of the program is responsible for the last modification in case of problems. Therefore they impede debugging.
If you think, you have a really good reason to use globals, you have to declare them in each function. Use a very specific name, to avoid conflicts with other programs:
function out = myFunc1(in)
global myToolbox_Global
myToolbox_Global = [myToolbox_Global, now];
out = in; % A silly example code...
end
function out = myFunc2(in)
global myToolbox_Global
myToolbox_Global = [myToolbox_Global, now];
out = in; % A silly example code...
end
Well, "myToolbox_Global" is not very specific. An abbreviation of your name and the name of the program would be better. Remember that any globals are an invitation for bugs caused by unintended overwriting of values.
  3 Comments
Jan
Jan on 5 May 2013
This was an arbitrary example to show, how new value is appended to a global variable whenever the function is called:
myToolbox_Global = [myToolbox_Global, now];
Because it is an example only, it does not really mean anything.
A good programming practice is to deliver a variable, which is used in different functions, as input and output.

Sign in to comment.

More Answers (1)

Azzi Abdelmalek
Azzi Abdelmalek on 4 May 2013
Edited: Azzi Abdelmalek on 4 May 2013
Example
global a
a=[1 2 3]
a=[a 4 5]
Look at concatenation

Community Treasure Hunt

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

Start Hunting!