String 如何在MATLAB中将字符串作为函数参数传递?
基本上,我有10个数据文件,我编写了一个MATLAB函数来处理这些数据。 代码如下所示:String 如何在MATLAB中将字符串作为函数参数传递?,string,matlab,function,arguments,String,Matlab,Function,Arguments,基本上,我有10个数据文件,我编写了一个MATLAB函数来处理这些数据。 代码如下所示: function Z = fitdata(file_path) A = importdata(file_path,','); ... end function X = automate() myarray = {'file_one', 'file_two', 'file_three',......,'file_ten'}; for i = 1:9 mypath = myarr
function Z = fitdata(file_path)
A = importdata(file_path,',');
...
end
function X = automate()
myarray = {'file_one', 'file_two', 'file_three',......,'file_ten'};
for i = 1:9
mypath = myarray{i};
W = fitdata(mypath);
...
end
end
因为我不想输入相同的命令10次(对于不同的文件名),所以我编写了另一个脚本来自动化这个处理。代码如下所示:
function Z = fitdata(file_path)
A = importdata(file_path,',');
...
end
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
,可能会调用此函数或脚本,而不是上面创建的版本
先前的答复: 我认为您的意思是使用函数而不是,这可能是您得到错误的来源
另外一条建议:最好不要命名一个变量
path
,因为已经有一个函数了。变量最终将被使用,而不是函数(基于),在这种特定情况下,这仍然是您希望发生的,但在其他情况下会导致混淆和错误。对于此错误,我们深表歉意。这是我的代码“importdata”。但我还是发现了错误。我甚至试着在Matlab命令行中键入fitdata('file_one',','),但错误依然存在。您的语法似乎没有任何明显的错误。您确定importdata()
没有阻塞您的文件吗?在MATLAB命令行上尝试importdata('my_file_1',',')
。importdata()可以。如果我声明一个字符串,比如:file_path='filename'并调用importdata(file_path,,'),那么它就可以工作了。我认为唯一的问题是如何将字符串作为参数传递给函数。