Is it possible to declare a char variable as global?

Hi everyone,
I would like to declare a char variable as global in order to use it in different functions; more specifically, I want the fit option
opts.Normalize
to be 'on' or 'off' when I specify it, so I thought to create a global variable
global N
N = 'on'
and call N in the fitting function:
opts.Normalize = N;
but the command window gives me error. What can I do?
Thenk you very much

 Accepted Answer

Seems to work just fine here -- although globals are fraught with danger, if you're cautious the above usage doesn't seem too egregious although I don't see too much to be gained by the two steps of setting the global variable and then setting the fitoptions object variable over just setting the option itself.
>> opts=fitoptions
opts =
Normalize: 'off'
Exclude: [1×0 double]
Weights: [1×0 double]
Method: 'None'
>> global N
>> N='on';
>> opts.Normalize=N
opts =
Normalize: 'on'
Exclude: [1×0 double]
Weights: [1×0 double]
Method: 'None'
>>

3 Comments

One important point to note is that if you want to use a global variable in code it needs to be defined as global in every workspace where you want to access it from the global workspace. So if you want it to be accessed in two different functions, each of those functions needs the statement "global N".
Good catch, @Steven

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!