Code Analyzer Misses Variables
显示 更早的评论
I noticed that the code analyzer, at least in Matlab R2016b, misses variables named "TFR". For instance, in the following code, code analyzer marks TFR in the left hand side of the first line as unused, even though it appears just two lines later. The automatic highlighting also doesn't work. Suggestions?
[ERP, TFR] = prelim(cfg);
for i = 1:6
tmpTFR = TFR;
tmpTFR.powspctrm = squeeze(TFR.powspctrm(i,:,:,:));
tmpTFR.dimord = 'chan_freq_time';
figure
cfg = [];
cfg.parameter = 'powspctrm';
cfg.baseline = [-1 -0.1];
cfg.baselinetype = 'db';
cfg.showlabels = 'yes';
cfg.layout = 'CPC_vis_EEG_layout.mat';
ft_multiplotTFR(cfg, tmpTFR);
end

回答(1 个)
Steven Lord
2018-7-23
1 个投票
What's on the line between "[ERP, TFR] = prelim(cfg);" and "for i = 1:6" in your picture, the line covered by the Code Analyzer message? It looks like there's enough space for a blank line or one line of code.
If on that line you have code that assigned a value to TFR using non-subscripted indexing (TFR = something) then the Code Analyzer message would be correct as you would be overwriting the contents of that variable before using what prelim returned as its second output.
类别
在 帮助中心 和 File Exchange 中查找有关 Graph and Network Algorithms 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!