Comment puis-je passer une chaîne de caractères comme un argument de fonction dans MATLAB?

En gros, j'ai 10 fichiers de données et j'ai écrit une fonction MATLAB pour le traitement de ces données.
Le code ressemble à ceci:

function Z = fitdata(file_path)

  A = importdata(file_path,',');
  ...

end

Car je ne veux pas d'entrée de la commande de même 10 fois (pour les noms de fichier différent), j'ai écrit un autre script pour automatiser ce traitement. Le code ressemble à ceci:

function X = automate()

  myarray = {'file_one', 'file_two', 'file_three',......,'file_ten'};
  for i = 1:9
    mypath = myarray{i};
    W = fitdata(mypath);
    ...
  end

end

Mais j'obtiens le message d'erreur "Trop d'arguments d'entrée" à l'appel de la fitdata(chemin_fichier) de la fonction.

Comment dois-je faire cela?

Désolé pour l'erreur. elle a été 'importdata' im mon code. Mais je suis encore en train de l'erreur. J'ai même essayé de type fitdata('file_one',',') à partir de Matlab en ligne de commande, mais l'erreur persistes.
Il ne semble pas être quelque chose de manifestement mal avec votre syntaxe. Êtes-vous sûr que importdata() n'est pas de s'étouffer avec votre fichier? Essayez importdata('my_file_1', ',') sur la ligne de commande MATLAB.
importdata() est OK. Si je déclare une chaîne de caractères comme : chemin_fichier ='nom de fichier' et appeler importdata(chemin_fichier,','), alors il fonctionne. Je pense que le seul problème est de savoir comment passer une chaîne de caractères comme argument d'une fonction.

OriginalL'auteur ablimit | 2010-01-01