基本上,我有 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) 函数时收到错误“输入参数过多”。
我应该怎么做?
编辑:由于下面的建议没有解决问题,而且您发布的代码似乎没有任何其他问题,接下来我会检查以确保版本上面给出的 fitdata
是 MATLAB 路径上该名称的唯一 函数。您可能无意中创建了另一个函数或脚本并将其另存为 fitdata.m
,这可能会被调用而不是您在上面创建的版本。
上一个答案:
我想你的意思是使用 IMPORTDATA函数而不是 IMPORT ,这可能是您遇到的错误的来源。
另外一条建议:最好不要将变量命名为 path
,因为已经有一个函数 PATH .最终将使用变量而不是函数(基于 MATLAB precedence rules ),这仍然是您希望在这种特定情况下发生的事情,但在其他情况下是混淆和错误的根源。
我是一名优秀的程序员,十分优秀!