MATLAB Answers

Turn off "Improve MATLAB by sending user experience" from the command line

13 views (last 30 days)
Leo Simon
Leo Simon on 11 May 2021
Answered: Rik on 11 May 2021
From this site, I learned that one reason why matlab takes forever to quit is that by default, "Improve MATLAB by sending user experience" is checked in in Preferences -> General. I can turn this off in the GUI, but I'm much prefer to turn it off from the command line, using
com.mathworks.services.Prefs.setBooleanProf
But I don't know how to identify the relevant option name to do this. Could somebody advise please?

Answers (2)

Rik
Rik on 11 May 2021
Using a function to unwind the settings (casting them to struct), and using comp_struct from the FEX, I found the relevant setting:
s=settings;
w=warning('off','MATLAB:structOnObject');
fn=fieldnames(struct(s.matlab.ddux));
warning(w);
fn=fn(contains(fn,'ddux'));
for n=1:numel(fn)
s.matlab.ddux.(fn{n}).chosen.PersonalValue=0;
end
function s=unwind(s,depth)
%call like this: s=unwind(settings);
if nargin==1,depth=0;end,if depth>10,return,end
w=warning('off','MATLAB:structOnObject');s_=struct(s);warning(w);
fn=fieldnames(s_);
s=struct;
for n=1:numel(fn)
if contains(fn{n},'Parent'),continue,end
if strcmp(fn{n},'SettingsObject'),continue,end
fn_=strrep(fn{n},'.','_');
s.(fn_)=s_.(fn{n});
if contains(class(s.(fn_)),'.')
s.(fn_)=unwind(s.(fn_),depth+1);
end
end
end

Jan
Jan on 11 May 2021
What about setting this parameter through the GUI and comparing
  • C:\Users\<USER>\AppData\Roaming\MathWorks\MATLAB\<VErSION>\matlab.prf
  • C:\Users\<USER>\AppData\Roaming\MathWorks\MATLAB\<VERSION>\matlab.settings

Community Treasure Hunt

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

Start Hunting!

Translated by