Verfasst am: 27.07.2020, 09:33
Titel: Cell Variable als Variablenname in for Schleife eintragen
Hallo,
ich möchte eine cell Variable in den Namen einer .xlsx Datei schreiben. Dies erfolgt in einer for Schleife. Der Name der Datei soll dann z.B. 'Tier Katze 1.xlsx' lauten.
Code:
for n=1:4
Größe=[1,2,3,4];
Farbe=[schwarz,rot,braun,weiß];
T=table(Größe,Farbe);
Tier=['Katze', 'Maus', 'Hase', 'Igel'];
filename=sprintf('Tier %s %s', Tier(n), num2str(n));
writetable(T,filename,'Sheet','Farbe');
end
Leider bekomme ich den Fehler:
Error using sprintf
Function is not defined for 'cell' inputs.
Kann mir jemand eine andere Funktion empfehlen? Das Problem auch bei anderen Varianten ist, dass die Variable Tier eine cell Variable ist. Leider kann ich das nicht ändern.
Danke für die Anregungen!
Grüße
Victoria
Zuletzt bearbeitet von Victoria am 27.07.2020, 10:02, insgesamt 2-mal bearbeitet
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
die Art der Klammern ist das entscheidende. Um etwas aus einem Cell Array zu extrahieren, benötigst du { } statt ( )
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Um zu verstehen wie die Fehlermeldung zustande kommt, bräuchte ich ein reproduzierbares Beispiel.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
ja jetzt klappt es.
Ich verstehe leider den Unterschied von "Name" und 'Name' nicht. Mit "Name" funktioniert es wie du beschrieben hast.
Danke!
Victoria
das sind unterschiedliche Datentypen.
' ' erzeugt ein char-Array, während " " einen String erzeugt. Das Arbeiten mit Strings ist generell intuitiver, an manchen Stellen aber auch einfach nur anders.
Strings gibt es seit R2016b und sie sind quasi die moderneren char-Arrays, da man sich damit auch die Cell Arrays von chars schenken kann.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
Einstellungen und Berechtigungen
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.