Verfasst am: 28.07.2014, 14:30
Titel: txt Einlesen und Ausgeben
Mit Matlab habe ich noch nicht viel programmiert und habe ein paar Probleme. Ich versuche ein Textfile mit 4 Spalten (Komma getrennt, dann neue Zeile) einzulesen und auszuwerten. Es sind Polarkoordinaten. Zunächst reale, dann fehlerhaft gemessene Werte. Also möchte ich den Fehlerwinkel bestimmen und graphisch auswerten mit 3 Farben. Fehler bis 2% grün, 2 -3,5 % gelb, dann den Rest rot.
Folgenden Code habe ich schon probiert aber er hat Fehler. Vor allem komme ich in Zeile 10 nicht weiter. Wie berechne ich denn den tangens Zeileweise und speichere ihn ab. Das auskommentierte habe ich im Netz gefunden und ist dann auszuprobieren, wenn ich die richtige Matrix oder das Array habe.
%figure;hold on; Darstellung in verschiedenen Farben
%plot(Zeit(Vektor==-5),Leistung(Vektor==-5),'.r');
%plot(Zeit(Vektor==0),Leistung(Vektor==0),'.b');
%plot(Zeit(Vektor==5),Leistung(Vektor==5),'.g');
%plot(Zeit(Vektor==10),Leistung(Vektor==10),'.k');
bitte immer dazu schreiben, was genau an einem Code nicht funktioniert.
Im vorliegenden Fall würde ich sagen, dass du ./ statt / verwenden solltest, um komponentenweise zu teilen.
Desweiteren: du liest anscheinend 2 Spalten ein (und das in unterschiedlichem Format - meist keine gute Idee), verwendest aber 4 Spalten. Außerdem bekommst du von textscan ein Cell Array, das muss z.B. mit cell2mat noch in ein numerisches Array umgewandelt werden.
Falls das noch nicht weiterhilft, bitte klarstellen, was du in der Zeile eigentlich berechnen möchtest.
Vielen Dank für deine Hilfe bislang. Bin nun schon weniger frustiert.
Doch nun klappt das plotten nicht. Wie mach ich das denn:
Ausgegeben sollen die Winkel auf irgendeine Weise so, dass man farblich erkennt, dass sie über gewisse Grenzen sind.
Über Vorschläge ware ich sehr dankbar. D beihaltet die Beträge der Winkelfehler. Auch für ausgefallene Möglichkeiten bin ich offen.
Am Besten wären für die x-Achse kranX ("X-Achsenposition Kran") und für die Y-Achse die Werte von D ("Winkelfehler"). Kriterien 0-2 grün, 2-5 gelb, größer rot.
Aber da mit Matlab ziemlich gute Plots funktionieren, wollte ich eigentlich versuchen. 2 verschiedene Plots zu machen und zwar für A(:,1), A(:,2)(x,y-Kran) und A(:,3),A(:,4) x,y Sensor und den Fehler als Verbindung dieser beiden jeweiligen Werte graphisch in Farbe darzustellen. Aber erscheint mir doch ein wenig kompliziert und zudem weiß ich auch nicht, ob das möglich ist.
rot = D >= 5;
gelb = D >= 2; % wird teilweise von rot überlegt. plot(kranX, D, 'g') hold on
plot(kranX(gelb), D(gelb), 'y') plot(kranX(rot), D(rot), 'r')
und den Fehler als Verbindung dieser beiden jeweiligen Werte graphisch in Farbe darzustellen.
Ich kann mir das optisch nicht vorstellen.
Zitat:
Aber erscheint mir doch ein wenig kompliziert und zudem weiß ich auch nicht, ob das möglich ist.
Möglich ist es ziemlich sicher. Um dabei weiterhelfen zu können, müsste ich allerdings sehen/verstehen, wie das aussehen soll. Kannst du das mal skizzieren?
Im angehängten JPEG habe ich das mal gemalt, was ich mir vorgestellt habe. Ob das aber so sinnvoll sein wird, da bin ich mir nicht ganz sicher. Es sollen 2 Graphiken dargestellt seine. In der ersten (links) in 2 Koordinatensysteme, welche den Werteverlauf für sensor und kran darstellt und zusätzlich noch in den verschiedenen Farben die Größe des aktuellen Fehler durch eine Geradenverbindung des aktuellen Wertes.
In der 2. Graphik eine Ausgabe des Fehler für den aktuellen Wert.
quiver unterstützt übrigens auch noch verschiedene Farben, s.o.
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.