![](http://www.tatmou.com/matlabcentral/answers/uploaded_files/1186858/image.jpeg)
用户首选项应该存储在哪里?
11视图(30天)
显示旧的评论
假设您有一个工具箱,识别各种各样的用户首选项,在MATLAB会话重用。这些首选项应该存储在哪里?
全局变量也似乎是一个简单的路径,但他们重置“全部清除”。你可以把同样的信息藏在根的应用程序定义的数据对象,这是远离“全部清除”在当前会话。偏好也可以存储在一个隐藏的文件和保存在未来的会议。
我一直在使用第二种方法(设置/获取appdata),但我好奇的蜜蜂有什么其他方法尝试。
更多的答案(2)
图像分析
2015年11月9日
我
用户首选项保存到.mat磁盘上的文件中。
不同于全局,持久,得到/ setappdata,他们将MATLAB生存不同的会话,甚至可以迁移到不同的计算机。另外,如果你在Windows和拯救他们C:\Users\Public\AppData\MATLAB文件夹所有用户的结果将是相同的在一个多用户系统,可重要的一致性。(我已经混合存储它们,微软希望你成功,c: \ ProgramData文件夹。)您可能不希望不同的用户运行您的应用程序使用不同的设置对某些参数,如过滤窗口大小或最低容许blob面积等等,否则他们不会得到相同的答案相同的输入数据。当然,如果你想让每个用户都有自己的个人设置的参数,你就可以这么做,只是存储在用户的文件夹中。
我有LoadUserSettings()函数,调用应用程序启动时,和一个SaveUserSettings()函数被称为当用户关闭应用程序或做一些其他的活动,你想保存它,如改变数据的文件夹之类的。LoadUserSettings()将读垫文件中,GUI设置,然后使用()设置为发送这些GUI设置适当的GUI控制/小部件。SaveUserSettings()相反,它收集的参数,我想保存从各种控件,并保存一个结构变量,我叫UserSettings,垫文件。UserSettings有不同的领域,比如UserSettings。checkboxValue1 UserSettings。editString1,持有不同的不同的控件的属性。但
只是我想保存的
——我不保存在阳光下的一切。
当然,这在一个MATLAB中工作得相当好,像你这样的要求,但
更健壮的
它同样适用
跨会话,甚至在不同的电脑
。