matlab怎么没有编辑器,在不打开编辑器窗口的情况下开始一个新的MATLAB会话
這是因為,當MATLAB打開時,它會跟蹤加載到編輯器中的文件以及每個文件的顯示參數。這些信息存儲在以下位置。
fullfile(prefdir, 'MATLABDesktop.xml')
沒有為你當前在活躍MATLAB編輯器中打開每個文件的條目。
當您在重新啟動時選擇不記住文件的首選項時,會導致應用程序退出時從該文件中刪除所有這些條目。
當你有多個同時運行的MATLAB實例(同一版本)時,它們都依賴于同一個文件。所以當你用一個實例打開一個文件時,然后啟動一個新實例,新實例加載該文件并從中填充編輯器狀態。
至于修復這種行為,我認為這可能是困難的。您可以也許編輯您的startup.m文件以從MATLABDesktop.xml文件中刪除所有這些條目。即使如此,我不確定這會如何影響其他正在運行的實例的穩定性。
腳本執行此清潔
如果你想有一個腳本這是能夠做到這一點,同時保留存在的配置文件中的所有其他設置,下面應該工作。
filename = fullfile(prefdir, 'MATLABDesktop.xml');
xml = xmlread(filename);
% Find ALL entries in the file and determine "Class" attribute
clients = xml.getElementsByTagName('Client');
clients = arrayfun(@(x)clients.item(x-1), 1:clients.getLength, 'uni', 0);
classes = cellfun(@(x)char(x.getAttribute('Class')), clients, 'uni', 0);
% Find all EditorViewClient entries
func = @(x)isempty(regexp(x, '\.EditorViewClient$', 'once'));
toremove = ~cellfun(func, classes);
clients = clients(toremove);
% Remove all client entries that need to be removed
for k = 1:numel(clients)
parent = clients{k}.getParentNode();
parent.removeChild(clients{k});
end
% Write the remaining data back to the file
xmlwrite(filename, xml);
總結
以上是生活随笔為你收集整理的matlab怎么没有编辑器,在不打开编辑器窗口的情况下开始一个新的MATLAB会话的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小森生活铁锭怎么合成?
- 下一篇: rn php,rn怎样在PHP的正则表