优化在Matlab中加载多个文件的代码的提示?

时间:2012-11-17 01:35:48

标签: matlab matlab-load

fname = dir('*sir');  
dayH = zeros(length(fname),1360,3600);
for i=1:length(fname)   
    dayH(i,:,:) = loadsir(fname(i).name);
end  


fname = dir('*sir');  
dayH = cell(1,length(fname));  
for i=1:2  
   dayH{i} = loadsir(fname(i).name); 
end

基本上它会加载我的所有文件。我有一个名为loadsir的单独.m文件,用于加载这些专用文件。 .sir文件的输出将是一个数组1360x3600。

现在代码崩溃说:“无法显示超过524288个元素的变量摘要。”我想这是因为1360X3600 = 5,000,000左右?

1 个答案:

答案 0 :(得分:2)

将Serg的评论作为答案:

很可能你在;的某个地方遗漏了一个分号(loadsir)。 Matlab然后认为你想打印输出,由于元素数量很多,它不会做。

此外,为了防止将来发生此类事情:

Matlab是一种解释型语言,意思是不需要编译。您可以在键入时解析任何和所有代码,这样可以执行自动更正等操作。当然,这种事情已经包含在标准的Matlab中。如果您还没有,请不时在Matlab自己的编辑器中编写代码。它警告你这些愚蠢的错误/错误(以及更多),包括但不限于,通过编辑器中的右侧竖条。窗口右上角的小方块应始终为绿色。如果它是橙色红色,则分别需要改进或纠正。

右侧竖线是文件中所有行的概述,可以提供改进空间。如果某个地方出现一个小的橙色/红色条,鼠标悬停会告诉您哪条线有什么问题。单击它将导航编辑器到该行,该行可能是橙色或红色的波浪下划线。鼠标悬停在线上通常会提供有用的建议,而<alt>+<enter>通常足以解决简单的错误。在Matlab中开发更大的应用程序时,我发现它是不可或缺的工具。

您当然可以配置此工具(“代码分析器”,以前称为“mlint”)显示的错误/警告。有时,会有一个关于效率低下的警告,你根本无法解决。在行后面添加一个OK指令来抑制它(%#ok),但养成抑制任何东西的习惯,一切都“烦人”,因为这当然会完全超出目的代码分析器:)