WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Erkennen von Zeilen einer Tabelle

 

Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.08.2008, 11:11     Titel: Erkennen von Zeilen einer Tabelle
  Antworten mit Zitat      
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.

könnt ihr mir helfen?

lg


steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.029
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 06.08.2008, 11:29     Titel:
  Antworten mit Zitat      
Moin,

stell doch mal eine Beispieltabelle online und zeige daran, was gemacht werden soll...

Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.08.2008, 12:57     Titel:
  Antworten mit Zitat      
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.
 
nschlange
Ehrenmitglied

Ehrenmitglied



Beiträge: 1.320
Anmeldedatum: 06.09.07
Wohnort: NRW
Version: R2007b
     Beitrag Verfasst am: 06.08.2008, 13:15     Titel:
  Antworten mit Zitat      
Hi,

von welcher Schleife sprichst Du?
Vermutlich ist es besser, mit
Code:
erst die kompletten Daten einzulesen und sich danach um die Darstellung zu kümmern.
_________________

Viele Grüße
nschlange

"Chuck Norris ejakuliert fluessigen Stahl!"
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 06.08.2008, 16:18     Titel:
  Antworten mit Zitat      
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?

trotzdem danke für die bisherige Hilfe
 
nschlange
Ehrenmitglied

Ehrenmitglied



Beiträge: 1.320
Anmeldedatum: 06.09.07
Wohnort: NRW
Version: R2007b
     Beitrag Verfasst am: 06.08.2008, 16:59     Titel:
  Antworten mit Zitat      
Warum liest Du nicht als erstes die Tabelle komplett ein? Dann weißt Du wie lang die ist.

Code:
fid=fopen('test.txt');
C=textscan(fid,'%f %f','HeaderLines',1);
fclose(fid);
C=[C{:}];
length(C)

_________________

Viele Grüße
nschlange

"Chuck Norris ejakuliert fluessigen Stahl!"
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.08.2008, 12:28     Titel:
  Antworten mit Zitat      
ok cool... das funktioniert jetzt alles soweit

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');
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.029
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 08.08.2008, 13:02     Titel:
  Antworten mit Zitat      
Ich verstehe nicht ganz was du meinst, du sprichst von einer Tabelle und einem Plot in einem Atemzug - was meinst du genau (Beispielbild?)

Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.08.2008, 13:21     Titel:
  Antworten mit Zitat      
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.
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.029
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 08.08.2008, 13:26     Titel:
  Antworten mit Zitat      
Anonymous hat Folgendes geschrieben:
Ich hab jetzt auch ein Beispielbild angehängt.

Wo??
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.08.2008, 13:29     Titel:
  Antworten mit Zitat      


1.jpg
 Beschreibung:

Download
 Dateiname:  1.jpg
 Dateigröße:  7.34 KB
 Heruntergeladen:  929 mal
 
nschlange
Ehrenmitglied

Ehrenmitglied



Beiträge: 1.320
Anmeldedatum: 06.09.07
Wohnort: NRW
Version: R2007b
     Beitrag Verfasst am: 08.08.2008, 13:39     Titel:
  Antworten mit Zitat      
Hi,

hier ein Beispiel, mit den Daten aus Deinem zweiten Posting.
Es wird ein gif erstellt mit http://www.mathworks.com/matlabcent.....17463&objectType=file
Edit: die Funktion hab ich hierher: http://user.it.uu.se/cgi-bin/cgiwra.....ountUtils.cgi?movie2gif.m

Code:
clear all;
clc;
fid=fopen('test.txt');
C=textscan(fid,'%f %f','HeaderLines',1);
fclose(fid);
C=[C{:}];
f=figure;
xlim( [ min(C(:,1)) max(C(:,1)) ]);
ylim( [ min(C(:,2)) max(C(:,2)) ]);
grid on;
title('Schlange');
hold on;

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

movie2gif(F,'test.gif','delaytime',0.2,'loopcount',inf);


test.gif
 Beschreibung:

Download
 Dateiname:  test.gif
 Dateigröße:  21.28 KB
 Heruntergeladen:  933 mal
test.txt
 Beschreibung:

Download
 Dateiname:  test.txt
 Dateigröße:  192 Bytes
 Heruntergeladen:  896 mal

_________________

Viele Grüße
nschlange

"Chuck Norris ejakuliert fluessigen Stahl!"

Zuletzt bearbeitet von nschlange am 08.08.2008, 13:53, insgesamt einmal bearbeitet
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
steve
Ehrenmitglied

Ehrenmitglied



Beiträge: 2.029
Anmeldedatum: 03.09.07
Wohnort: Wien
Version: R2024a
     Beitrag Verfasst am: 08.08.2008, 13:41     Titel:
  Antworten mit Zitat      
Schönes Beispiel!

Ich denke, dass wäre einen weiteren Beitrag in der Skripte-Ecke wert, oder?!

Edit: Erledigt.
mfg nschlange


Gruß
Alex
_________________

>> I told me to.

____________________________________
Matlab Cheat Sheet
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.08.2008, 13:55     Titel:
  Antworten mit Zitat      
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.
 
nschlange
Ehrenmitglied

Ehrenmitglied



Beiträge: 1.320
Anmeldedatum: 06.09.07
Wohnort: NRW
Version: R2007b
     Beitrag Verfasst am: 08.08.2008, 13:59     Titel:
  Antworten mit Zitat      
Dafür sind die Befehle ja verlinkt. Wink
Wie hast Du das denn bis jetzt gemacht, insbesondere das movie exportiert?
_________________

Viele Grüße
nschlange

"Chuck Norris ejakuliert fluessigen Stahl!"
Private Nachricht senden Benutzer-Profile anzeigen E-Mail senden
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite 1, 2  Weiter

Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

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.