基本上,我有10个数据文件,我写了一个MATLAB函数来处理这些数据。 代码是这样的:
function Z = fitdata(file_path)
A = importdata(file_path,',');
...
end
由于我不想输入相同的命令10次(对于不同的文件名),我编写了另一个脚本来自动执行此处理。代码如下所示:
function X = automate()
myarray = {'file_one', 'file_two', 'file_three',......,'file_ten'};
for i = 1:9
mypath = myarray{i};
W = fitdata(mypath);
...
end
end
但是我在调用fitdata(file_path)函数时收到错误“输入参数太多”。
我该怎么做?
答案 0 :(得分:4)
编辑:由于以下建议无法解决问题,并且由于您发布的代码似乎没有任何其他问题,我接下来会检查以确保版本上面给出的fitdata
是MATLAB路径上该名称的唯一函数。您可能无意中创建了另一个函数或脚本并将其保存为fitdata.m
,这可能会被调用而不是您在上面创建的版本。
上一个回答:
我认为您的意思是使用IMPORTDATA函数而不是IMPORT,这可能是您获得错误的原因。
另外一条建议:最好不要命名一个变量path
,因为已经有一个函数PATH。该变量将最终被用于代替函数(基于MATLAB precedence rules),这仍然是您希望在这种特定情况下发生的事情,但在其他情况下是混淆和错误的来源。