global variables not cleared after 'clear;clc'

5 views (last 30 days)
I have a global variable. I run the code for several times. I put 'clear;clc' at the front. Strangely before the global variable is called, it already has a value. However I rerun it, it always has a value before its line is called. What could've happened?

Accepted Answer

Walter Roberson
Walter Roberson on 10 Dec 2018
clear by itself only removes variables from the current workspace not the global workspace . You need to
clear global
  5 Comments
a a
a a on 10 Dec 2018
I love using global variables to save writing functions with a long list of argin's. Is it a legitimate reason?
Walter Roberson
Walter Roberson on 10 Dec 2018
using global variables to save writing functions with a long list of argin's. Is it a legitimate reason?
There is a big difference between "legitimate" reasons and "good" reasons. Making a bad programming decision because your mind is muddled by your cold and flu medication is a "legitimate" reason. Delegating the decision to bald hampsters for cost-savings reasons is a "legitimate" reason. Using global variables because your astrologer slash homoepathic guru is a "legitimate" reason. But these are not good reasons.
If you want to save writing long lists of arguments, then there are multiple strategies, including using nested functions with shared variables.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!