Grundsätzlich habe ich 10 Dateien und ich schrieb eine MATLAB-Funktion, um diese Daten zu verarbeiten. Der Code ist wie folgt:Wie gebe ich eine Zeichenfolge als Funktionsargument in MATLAB?
function Z = fitdata(file_path)
A = importdata(file_path,',');
...
end
Da ich den gleichen Befehl 10 mal eingeben möchten nicht (für unterschiedliche Dateinamen), schrieb ich ein anderes Skript diese Verarbeitung zu automatisieren. Der Code sieht wie folgt aus:
function X = automate()
myarray = {'file_one', 'file_two', 'file_three',......,'file_ten'};
for i = 1:9
mypath = myarray{i};
W = fitdata(mypath);
...
end
end
Aber ich bin immer die Fehlermeldung „Zu viele Eingabeargumente“ auf den Aufruf der fitdata (file_path) -Funktion.
Wie soll ich das tun?
Entschuldigung für den Fehler. Es war 'Importdaten' in meinem Code. Aber ich bekomme immer noch den Fehler. Ich habe sogar versucht, fitdata ('file_one', ',') aus der Matlab-Befehlszeile einzugeben, aber der Fehler bleibt bestehen. – ablimit
Mit Ihrer Syntax scheint nichts offen zu sein. Sind Sie sicher, dass 'importdata()' nicht an Ihrer Datei erstickt? Versuchen Sie 'importdata ('my_file_1', ',')' in der MATLAB-Befehlszeile. –
importdata() ist OK. Wenn ich einen String wie folgt deklariere: file_path = 'filename' und importdata (file_path, ','), dann funktioniert es. Ich denke, das einzige Problem ist, wie man eine Zeichenfolge als Argument an eine Funktion übergeben. – ablimit