Verfasst am: 19.07.2016, 07:01
Titel: Plotten von sortierten Daten
Hallo,
ich habe folgendes Problem:
Ich habe ein Haufen an Daten, insgesamt 110 Messungen. Bei jeder Messung habe ich entsprechende Werte gemittelt und diese dann geplottet. Ich erhalte dann viele Punkte, die ich dann verbinden kann.
Folgendes möchte ich nun plotten:
1) Jeweils 10 Punkte gehören zu einer Messung, sollen also mit einer Kurve verbinden, also Messung 1-10, 11-20, 21-30, etc und diese sollen dann, wie in der Legende gezeigt, markiert werden.
2) Ich möchte den Plotbereich eingrenzen, z.B. bei Q von 0,5 bis 1,5 l/min. Dazu kann ich aber nicht sagen, dass ich nur die ersten und letzten beiden Messwerte weglasse. Mit einer if, if any oder for-Schleife habe ich es nicht hinbekommen. Gibt es da etwas, dass er nur einen bestimmten Teil der Messwerte plottet?
Das sind zwar nun sehr viele if-Schleifen und man könnte es bestimmt noch vereinfachen. Die Legende passt nun leider nicht mehr. Wie kann ich
1) Die Legende anpassen?
2) Jedem Graph automatisch eine Farbe und ein Symbol zuweisen, so dass man diese eindeutig unterscheiden kann (also keine Farbe bei dem gleichem Symbol doppelt)?
3) Evtl. die ganzen if-Schleifen verkürzen?
Danke schonmal für die Hilfe. Die Daten kann ich auch noch hochladen, wenn Bedarf ist!
das siht alles sehr wüst aus und ist nicht lauffähgi. es ist immer einfacher im forum ein minmalbeispiel zu posten das auch lauffähig ist. für die lösung ist es nicht wichtig das da 100 verschieden grafen sind. beispieldaten die erstmal 2 oder 3 repräsentieren anhand dessen du erklärst was passieren soll ist viel einfacher zu verstehen.
_________________
%%%% Einlesen und Verarbeiten aller im Ordner befindlichen Dateien for i=1:num%-22
filename= lower(files(i).name);
a=load(filename);
[xmaxdat,ymaxdat]=size(filename);
%%%% Sortieren nach Spannungen, Schreiben und Plotten der Vektoren
figure(1) if Voltage(i)<300
n00= n00+1;
E00x(n00) = Vol_strom(i);
E00y(n00) = Pressure(i);
end
if Voltage(i)>300 && Voltage(i)<600
n05= n05+1;
E05x(n05) = Vol_strom(i);
E05y(n05) = Pressure(i);
end end figure(1) plot(E00x,E00y,'o:'),grid on, hold on,
plot(E05x,E05y,'o:') legend({'0 kV/mm','500 kV/mm'});
Du könntest den Vektor jeweils in der Schleife umbenennen lassen (mit eval) und die dann plotten (ergibt einzelne Farben)
oder kann man im Nachhinein bei deinem plot nicht mit set die Farben ändern?
lG
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.