How to declear global array and how to use it ?
45 views (last 30 days)
Show older comments
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
0 Comments
Accepted Answer
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
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.
More Answers (1)
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
0 Comments
See Also
Categories
Find more on Logical in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!