Как я передаю строку как аргумент функции в MATLAB?

В основном у меня есть 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) функция.

Как я должен сделать это?

5
задан ablimit 2 January 2010 в 18:22
поделиться

1 ответ

EDIT: Поскольку предложения, приведенные ниже, не решили проблему, и поскольку с размещенным вами кодом больше ничего не случилось, я бы в следующий раз проверил, чтобы убедиться, что приведенная выше версия fitdata является единственной функцией этого имени на пути MATLAB. Возможно, вы случайно создали другую функцию или скрипт и сохранили его как fitdata.m, и это может быть вызвано вместо версии, которую вы создали выше.


Предыдущий ответ:

Я думаю, что вы имеете в виду использование функции IMPORTDATA вместо IMPORT, которая является вероятным источником получаемой вами ошибки.

Дополнительный совет: лучше не называть одну из ваших переменных путь, так как функция PATH уже существует. Переменная в конечном итоге будет использоваться вместо функции (основанной на правилах старшинства MATLAB), что все равно будет тем, что вы хотите сделать в данном конкретном случае, но является источником путаницы и ошибок в других случаях.

4
ответ дан 15 December 2019 в 01:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: