В основном у меня есть 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) функция.
Как я должен сделать это?
EDIT: Поскольку предложения, приведенные ниже, не решили проблему, и поскольку с размещенным вами кодом больше ничего не случилось, я бы в следующий раз проверил, чтобы убедиться, что приведенная выше версия fitdata
является единственной функцией этого имени на пути MATLAB. Возможно, вы случайно создали другую функцию или скрипт и сохранили его как fitdata.m
, и это может быть вызвано вместо версии, которую вы создали выше.
Предыдущий ответ:
Я думаю, что вы имеете в виду использование функции IMPORTDATA вместо IMPORT, которая является вероятным источником получаемой вами ошибки.
Дополнительный совет: лучше не называть одну из ваших переменных путь
, так как функция PATH уже существует. Переменная в конечном итоге будет использоваться вместо функции (основанной на правилах старшинства MATLAB), что все равно будет тем, что вы хотите сделать в данном конкретном случае, но является источником путаницы и ошибок в других случаях.