matheraum.de
Raum für Mathematik
Offene Informations- und Nachhilfegemeinschaft

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Hochschulmathe
  Status Uni-Analysis
    Status Reelle Analysis
    Status UKomplx
    Status Uni-Kompl. Analysis
    Status Differentialgl.
    Status Maß/Integrat-Theorie
    Status Funktionalanalysis
    Status Transformationen
    Status UAnaSon
  Status Uni-Lin. Algebra
    Status Abbildungen
    Status ULinAGS
    Status Matrizen
    Status Determinanten
    Status Eigenwerte
    Status Skalarprodukte
    Status Moduln/Vektorraum
    Status Sonstiges
  Status Algebra+Zahlentheo.
    Status Algebra
    Status Zahlentheorie
  Status Diskrete Mathematik
    Status Diskrete Optimierung
    Status Graphentheorie
    Status Operations Research
    Status Relationen
  Status Fachdidaktik
  Status Finanz+Versicherung
    Status Uni-Finanzmathematik
    Status Uni-Versicherungsmat
  Status Logik+Mengenlehre
    Status Logik
    Status Mengenlehre
  Status Numerik
    Status Lin. Gleich.-systeme
    Status Nichtlineare Gleich.
    Status Interpol.+Approx.
    Status Integr.+Differenz.
    Status Eigenwertprobleme
    Status DGL
  Status Uni-Stochastik
    Status Kombinatorik
    Status math. Statistik
    Status Statistik (Anwend.)
    Status stoch. Analysis
    Status stoch. Prozesse
    Status Wahrscheinlichkeitstheorie
  Status Topologie+Geometrie
  Status Uni-Sonstiges

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenMatlabOctave
Foren für weitere Schulfächer findest Du auf www.vorhilfe.de z.B. Informatik • Physik • Technik • Biologie • Chemie
Forum "Matlab" - Octave
Octave < Matlab < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Octave: Einlesen einer Datei in Octave
Status: (Frage) beantwortet Status 
Datum: 11:11 Di 29.09.2009
Autor: s4y

Aufgabe
Guten Tag, und zwar würde ich gerne wissen, wie ich eine Datei einlese. Das Problem ist die Datei soll nicht verändert werden.
Sie sieht ungefähr so aus.

Zeit Temperatur1 Temperatur2
16:15:07 15,3 32,4
16:15:17 15,6 45,4
16:15:27 17,5 56,6




ch habe diese Frage auch in folgenden Foren auf anderen Internetseiten gestellt:
Es sind noch mehr Spalten vorhanden und auch noch mehr Zeilen. Mein Problem ist zum einen der Zeitsempel (16:15:07) und zum anderen das Komma. Er bringt mir beim Komma immer Fehler, wenn ich einen Punkt einsetze läuft es. Ferner kann er die Zeit nicht einlesen. Weiß jemand wie ich beides ohne die Datei zu verändern einlesen kann. Ich weiß zu dem auch nicht wie ich die Daten ohne der obersten Textzeile einlesen kann. Praktisch nur Abschnittsweise.
Vielen vielen Dank im Voraus für jede Hilfe.
Gruß Sebastian

        
Bezug
Octave: Antwort
Status: (Antwort) fertig Status 
Datum: 17:31 Di 29.09.2009
Autor: MathePower

Hallo s4y,


[willkommenmr]


> Guten Tag, und zwar würde ich gerne wissen, wie ich eine
> Datei einlese. Das Problem ist die Datei soll nicht
> verändert werden.
>  Sie sieht ungefähr so aus.
>  
> Zeit Temperatur1 Temperatur2
>  16:15:07 15,3 32,4
>  16:15:17 15,6 45,4
>  16:15:27 17,5 56,6
>  
>
>
>
> ch habe diese Frage auch in folgenden Foren auf anderen
> Internetseiten gestellt:
>   Es sind noch mehr Spalten vorhanden und auch noch mehr
> Zeilen. Mein Problem ist zum einen der Zeitsempel
> (16:15:07) und zum anderen das Komma. Er bringt mir beim
> Komma immer Fehler, wenn ich einen Punkt einsetze läuft
> es. Ferner kann er die Zeit nicht einlesen. Weiß jemand
> wie ich beides ohne die Datei zu verändern einlesen kann.
> Ich weiß zu dem auch nicht wie ich die Daten ohne der
> obersten Textzeile einlesen kann. Praktisch nur
> Abschnittsweise.


Schau Dir hierzu dieses []Octave-Tutorial an.


>  Vielen vielen Dank im Voraus für jede Hilfe.
>  Gruß Sebastian  


Gruss
MathePower

Bezug
                
Bezug
Octave: Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 11:54 Mi 30.09.2009
Autor: s4y

Hallo, ich muss nochmal fragen.
Ich hab mein Programm soweit schon fertig und es läuft auch bis auf ein Fehler.
Das ist das Programm:
[fid] = fopen("test2.txt", "r", "native");
kopfzeile = fgetl(fid);
[m, count] = fscanf(fid, "%f:%f:%f %f %f %f %f %f %f",[2,9]);
fclose(fid);
m

mit dieser Datei:
Text Text Text Text ....
16:09:06 32.41 32.63 36.43 36.63 36.65 34.56
16:09:13 32.39 35.63 46.43 66.83 26.65 34.56


Gibt er mir so eine Martix 2x7 aus :
16.000 6.000 32.630 36.630 34.560 9.000 32.390
9.000 32.410 36.430 36.650 16.000 13.000 35.630
Er trägt halt immer pro Spalte ein bis diese voll ist und geht dann über zur nächsten. Er soll aber pro Zeile ausgeben. Das wäre wichtig.

so sollte die Matrix in Octave aus der Datei aussehen
16 09 06 32.41 32.63 36.43 36.63 36.65 34.56
16 09 13 32.39 35.63 46.43 66.83 26.65 34.56

Aber ich weiß nicht wie ich das Problem lösen kann das er pro Zeile einliest.
Vielen Dank für die Hilfe schonmal im Voraus. Bin dankbar für jede Hilfe.
Sebastian

Bezug
                        
Bezug
Octave: Antwort
Status: (Antwort) fertig Status 
Datum: 13:31 Mi 30.09.2009
Autor: MathePower

Hallo s4y,

> Hallo, ich muss nochmal fragen.
>  Ich hab mein Programm soweit schon fertig und es läuft
> auch bis auf ein Fehler.
>  Das ist das Programm:
>  [fid] = fopen("test2.txt", "r", "native");
>  kopfzeile = fgetl(fid);
>  [m, count] = fscanf(fid, "%f:%f:%f %f %f %f %f %f
> %f",[2,9]);
>  fclose(fid);
>  m
>  
> mit dieser Datei:
>  Text Text Text Text ....
>  16:09:06 32.41 32.63 36.43 36.63 36.65 34.56
>  16:09:13 32.39 35.63 46.43 66.83 26.65 34.56
>  
>
> Gibt er mir so eine Martix 2x7 aus :
>  16.000 6.000 32.630 36.630 34.560 9.000 32.390
>  9.000 32.410 36.430 36.650 16.000 13.000 35.630
>  Er trägt halt immer pro Spalte ein bis diese voll ist und
> geht dann über zur nächsten. Er soll aber pro Zeile
> ausgeben. Das wäre wichtig.
>  
> so sollte die Matrix in Octave aus der Datei aussehen
>  16 09 06 32.41 32.63 36.43 36.63 36.65 34.56
>  16 09 13 32.39 35.63 46.43 66.83 26.65 34.56
>  
> Aber ich weiß nicht wie ich das Problem lösen kann das er
> pro Zeile einliest.

Lese hier zunaächst so ein:

[m, count] = fscanf(fid, "%f:%f:%f %f %f %f %f %f  %f",[ 9,2 ]);

Dann erhältst Du:

m =

   16.0000   16.0000
    9.0000    9.0000
    6.0000   13.0000
   32.4100   32.3900
   32.6300   35.6300
   36.4300   46.4300
   36.6300   66.8300
   36.6500   26.6500
   34.5600   34.5600

Dies kannst Du wiederum transponieren:

transpose(m)
ans =

Columns 1 through 7:

   16.0000    9.0000    6.0000   32.4100   32.6300   36.4300   36.6300
   16.0000    9.0000   13.0000   32.3900   35.6300   46.4300   66.8300

Columns 8 and 9:

   36.6500   34.5600
   26.6500   34.5600


>  Vielen Dank für die Hilfe schonmal im Voraus. Bin dankbar
> für jede Hilfe.
>  Sebastian  


Gruss
MathePower

Bezug
        
Bezug
Octave: Frage (überfällig)
Status: (Frage) überfällig Status 
Datum: 11:04 Mo 05.10.2009
Autor: s4y

Hallo, ich hab nochmal eine Frage und zwar bezüglich der Textzeile in der Datei.
Die Datei sieht so aus:
Tasd Bs Req  wr Dqw  rqr hy
3:04:34 5.34 -3 3 45.6 -3 3
3:03:34 5.34 -35 6 45.6 -35 6
3:43:2 5.34 -35 6 45.6 -35 6

Ich hab den Befehl: "textline = fgetl(fid);" benutzt um die erste Zeile zu extrahieren.
Das gibt er dann aus für textline:
Tasd Bs Req  wr Dqw  rqr hy

DAs Problem ist wenn ich den Befehl "A=textline(:,1);" benutze gibt er mir das aus:
A=T

Aber ich brauche das ganze Wort "Tasd", jedoch ohne den Befehl
"A=textline(:,1:4)" zu benutzen. Ich muss halt das Wort "Tasd" verändern können und das kann dann mehr als vier Buchstaben beinhalten.

Das gleiche macht er bei diesem Befehl:
H = fscanf(fid, '%s %s %s %s %s %s%s', [7 1]);
Er speichert immer die einzelnen Buchstaben. Ich weiß nicht ob ich das gleich beim Speichern verändern kann, so dass er mir das ganze Wort ausgibt. Oder ob es auch funktioniert, wenn ich ein Befehl habe der das Wort so aus der Matrix herausnimmt.
Bin dankbar für jede Hilfe.
Danke schonmal im Voraus.
Sebastian

Bezug
                
Bezug
Octave: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 11:20 Mi 07.10.2009
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.unimatheforum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]