Declare multiple global variables at once
Show older comments
I'm writing a fairly meaty code with lots of sub functions and scripts. To avoid human error, I made a script that contains hundreds of constants and unit conversions. The code would look something like this:
function myCode
run UnitConverter;
[a,b] = mySubFunction(c,d,e)
end
Where mySubFunction would call the variables assigned in UnitConverter. However, I really don't want to declare every single individual variable as a global one such that mySubFunction can read it. Is there a better way to do this?
1 Comment
Star Strider
on 2 Jul 2016
Please do not use global variables. Pass them as parameters instead.
Answers (3)
Samuel Vergara
on 2 Jul 2016
0 votes
Use a structure. K.a=1; K.b=2; K.etc=3; Then you pass K.
Regards
Walter Roberson
on 2 Jul 2016
0 votes
Image Analyst
on 2 Jul 2016
0 votes
Several alternative methods are listed in the FAQ: http://matlab.wikia.com/wiki/FAQ#How_can_I_share_data_between_callback_functions_in_my_GUI.28s.29.3F
Categories
Find more on Scope Variables and Generate Names in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!