Verfasst am: 06.08.2008, 11:11
Titel: Erkennen von Zeilen einer Tabelle
Hallo
Ich habe gerade erst angefangen mir ein bisschen was für Matlab beizubringen und habe nun eine Frage, zu der ich bisher keine Antwort gefunden habe.
Ich möchte mein Programm darauf einstellen, dass es Koordinaten aus einer Tabelle lesen kann. Das rauslesen funktioniert, nur möchte ich auch, dass mein Programm automatisch erkennt, wieviele Zeilen diese Tabelle denn nun hat.
evt. auch mit der Funktion (ähnlich bei textread) headerlines, eine einstellbare Anzahl an Zeilen von oben an nicht in betracht zu ziehen.
x y
1.0000000000 2.0000000000
1.5000000000 2.5000000000
2.0000000000 4.0000000000
3.0000000000 4.0000000000
4.0000000000 4.0000000000
5.2000000000 4.3000000000
5.0000000000 2.0000000000
In der Tabelle möchte ich jetzt zunächst einmal die erste reihe ausblenden. was ich ja machen kann, wenn ich textread verwende, indem ich headerlines festlege. Weiters möchte ich jetzt, dass das Programm, noch vor der Schleife, in der textread steht, erkennt, wieviele Zeilen da sind, damit das programm in der for-Schleife so oft den Vorgang wiederholen kann, bis alle Zeilen durch sind.
Ich möchte nämlich einen mehr oder weniger dynamischen Punkt erschaffen. Der von Koordinate zu Koordinate springt. Wobei ich zur Zeit soweit bin, dass Koordinate für Koordinate angezeigt wird und am Ende dann alle Koordinaten eingezeichnet sind. Lieber wäre mir, wenn ich nur sagen wir... 2-3 Zeilen also 2-3 Punkte immer angezeigt habe und die anderen wieder verschwinden. Deshalb suche ich nach diesen einstellungen für textread, aber irgendwie find ich dafür nix.
erst die kompletten Daten einzulesen und sich danach um die Darstellung zu kümmern.
_________________
Viele Grüße
nschlange
"Chuck Norris ejakuliert fluessigen Stahl!"
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 06.08.2008, 16:18
Titel:
So, mein Probeprogramm rennt jetzt. Habs zwar mit einem anderen Befehl geschafft, aber es ist sogar ein gif und läuft.
Ich hab jetzt nurmehr das erste Problem, dass mein Programm automatisch erkennen soll, wieviele Zeilen die Tabelle hat, dann kann ich auch meine Originaltabelle bearbeiten.
Welchen Befehl brauch ich dafür und wie funktioniert der?
Mir gehts jetzt bei meinem Programm nur noch darum, dass ich die Tabelle beschriften kann. Aber wenn ich sie normal mit "title,xlabel,ylabel" beschrifte, dann steht das außerhalb. Extrahiere ich nun die Bilder, dann seh ich nur das, was innerhalb des Koordinatensystems ist und die Beschriftung außen nicht.
Ich hab auch schon versucht mit "text" zu beschriften, aber ich nehme an, das sieht man nur einfach bei einem Koordinatensystem, dass von -600 bis 600 auf x- und y-Achse geht nicht mehr.
Könnt ihr mir sagen, wie ich die Beschriftung der Achsen, den Titel und evt. auch eine "Zahlenstrahl" Beschriftung der Achsen in das Koordinatensystem bekomme. Bzw. so, dass ich Titel und Achsen frei benennen kann und der Zahlenstrahl nur die Zahlen angibt, für die auch Querstricherl vorhanden sind?
lg
ich glaube es hat irgendwas mit meinem "set" befehl zu tun... bei lautet er:
set(gca,'NextPlot','replacechildren');
oh... ich sehs grad, hab da wohl an was anderes gedacht.
Ok... mein Problem ist folgendes:
mit figure(x) kann ich ein Fenster aufrufen, indem meine Grafik dann aufscheint.
Ich hab mir so jetzt mit getframe ein movie zusammengelegt, was ich exportiere. sobald ich aber ein solches Bild... frame? exportiere. Fehlt jegliche Achsenbeschriftung und auch jeglicher Titel. Zudem weiß ich nicht, wie ich die Achsen zahlenmäßig beschriften kann. Sodass ich mich im frame zurechtfinden kann, in welchem Bereich der plot ist.
Ich hab jetzt auch ein Beispielbild angehängt.
Man kann weder sagen, in welchem Bereich der Punkt gerade ist, noch welche ungfähren Koordinaten er hat.
for i=1:length(C)
h(i)=line(C(i,1),C(i,2),'Marker','o','MarkerEdgeColor','r','Visible','off');
end
j=1;
for i=2:1:length(C)-1 set(h,'Visible','off');
set(h(i-1),'Visible','on');
set(h(i),'Visible','on');
set(h(i+1),'Visible','on');
F(j) = getframe(gcf);
j=j+1;
end
Es mag ein schönes Beispiel sein, aber ich versteh grad überhaupt nicht, was da welcher Befehl macht, weil mir ca. 90% davon unbekannt sind. Das muss ich mir jetzt erstmal genauer anschauen.
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.