我需要使用var functions = [f1, f2, f3];
var arg = "foo";
var result = functions.every(function(func){
return func(arg);
});
从.txt文件中读取大量数据,这在80%的情况下工作正常,20%的问题不在一般规则中,并且dlm读取因随机发生而失败意外数据(主要是行中存在多个标题行(字符串))。
我需要的是一种方法,如果dlmread失败,仍然可以通过跳过文件来运行我的脚本(比如存储一些让我知道它失败的布尔变量) 要么 在MATLAB中另一个更通用的函数,我可以运行它来读取数据并自动化它。
如果你甚至可以部分解决我的问题,那将会有很大的帮助。
PS:在某些情况下,行号可以在标题行存在的位置预测。 我也尝试过importdata,但这需要很长时间。
答案 0 :(得分:2)
如果您的某个功能存在潜在错误,并且您希望只是跳过它,则应使用关键字try
(可能还有catch
)。它有点像if / else
,除非它在功能错误时不会崩溃。
try
dlmdata = dlmread('Invalid call') % Will crash
catch
dlmdata = 0;
warning('Call to dlmread failed')
end
Warning: Call to dlmread failed
请注意,您不需要catch
部分,但这是一个很好的做法。通常需要为变量赋值,以避免"Undefined function or variable 'dlmdata'"
。