und ich nehme an, das tut er, weil er meine Einträge im Cell Array als Strings nimmt.
Denn wenn ich einfach mal den Inhalt manuell kopiere funktioniert
Hallo, bin mir nicht ganz sicher, ob ich dich verstanden habe bzw ob ich mich selber gerade verstehe
Ich denke, dein Problem ist deine for schleife mit dem Zähler ii. Du speicherst deine plot Methoden in einem Array, also eine Spalte z.B. oder?
Dass heißt ja ,wenn du wieder darauf zugreifen willst, musst du dein Array auch wieder dementsprechend aufrufen, als Vektor.
Vllt geht es irgendwie so:
Willst du eigentlich alle Methoden Plotten? Oder willst du auswählen welche Methode du hernehmen willst? Ist das Ganze mit Eingabe? Weil dann wäre ja auch ein Switch_code
Okay vielleicht habe ich mich unverständlich ausgedrückt.
Also ursprünglich geht es darum, dass ich in meinem Workspace Variablen habe, das sind 11*11*21 Matrizen. Davon habe ich ein paar mehr. In denen sind Werte gespeichert - ich möchte nun einige Kombinationen davon plotten und die via Matlabfrag speichern. Diese Matritzen heißen so:
Ich habe ihre Namen wie man sieht in einem Cell-Array gespeichert, deswegen die geschweiften klammern.
Nun gebe ich am Anfang 3 Werte vor, die die Spalten/Zeilen/Ebenen vorgeben, aus denen aus den Variablen jeweils ausgelesen werden soll (sonst hätte ich am Ende tausende Plots, aber ich möchte gar nicht so viele sondern nur bestimmte):
Code:
index1 = 5; % x_off in µm
index2 = 5; % x_rot in µrad
index3 = 5; % y_rot in µrad
Jetzt soll das auch einmal für pos_y, div_x, div_y usw gemacht werden, was jeweils nochmal 9 sind. Also 27 Fälle.
Deswegen habe ich eine Schleife gebaut, die mir Strings erzeugt, die alle Kombinationen beinhalten und dann jeweils das ganze Plotten sollen und dann noch Achsenbeschriftung machen soll und mir eine Textdatei bastelt mit TeX Commands, die ich später in meinen Report einbaue und so weiter und so fort.
Die Schleife erzeugt mir auch die Namen so wie sie soll, das Problem ist, dass dann später dieses Argument:
und alle anderen Argumente die ich sonst erzeuge leider als Strings vorliegen und an die Funktion "Plot" kann man das in der Form wohl nicht übergeben. Jetzt ist die Frage wie ich Plot dazu bringe das doch zu fressen.
Hier mal der ganze Code fürs nachvollziehen - der Anfang vor der Schleife ist primär für Beschriftungen und so weiter.
Code:
% Massplot Script For The Analysis%
global index1 index2 index3;
index1 = 5; % x_off in µm
index2 = 5; % x_rot in µrad
index3 = 5; % y_rot in µrad
xlabel1 = strcat('Solenoid x-Offset in $\mu$m');
xlabel2 = strcat('Solenoid x-Rotation in $\mu$rad');
xlabel3 = strcat('Solenoid y-Rotation in $\mu$rad');
xlabels = {xlabel1,xlabel2,xlabel3};
ylabel1 = strcat('x-Position of the electon bunch mass center in $\mu$m');
ylabel2 = strcat('y-Position of the electon bunch mass center in $\mu$m');
ylabel3 = strcat('x-Divergence of the electon bunch in $\mu$rad');
ylabel4 = strcat('y-Divergence of the electon bunch in $\mu$rad');
ylabel5 = strcat('x-Emittance of the electon bunch in pi mrad $\mu$m');
ylabel6 = strcat('y-Emittance of the electon bunch in pi mrad $\mu$m');
ylabel7 = strcat('x-Focus position of the electon bunch in mm');
ylabel8 = strcat('y-Focus position of the electon bunch in mm');
ylabel9 = strcat('Bunch length of the electron bunch in $\mu$m');
ylabels = {ylabel1,ylabel2,ylabel3,ylabel4,ylabel5,ylabel6,ylabel7,ylabel8,ylabel9};
Um nochmal darauf hinzuweisen - wenn ich manuell den String ausgeben lasse, ins Clipboard kopiere, plot() schreibe und zwischen den klammern das ganze einfüge, dann geht es so wie es soll.
leicht in ein bestimmtes Feld (entspricht dann einer der Variablen) indizieren.
Um Variablen zu sparen, würde ich xlabels und ylabels direkt als Cell Array erstellen.
Grüße,
Harald
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.