|
|
Bestimmte Zeilen und Spalten aus einer txt.Dat herausziehen |
|
kwd46056 |
Forum-Anfänger
|
|
Beiträge: 39
|
|
|
|
Anmeldedatum: 27.10.17
|
|
|
|
Wohnort: Regensburg
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 29.12.2017, 10:39
Titel: Bestimmte Zeilen und Spalten aus einer txt.Dat herausziehen
|
|
|
|
|
Guten Morgen zusammen,
ich benötige wieder mal Hilfe zu einem Matlab Skript. Bin wie bereits bekannt ein Neuling in Matlab und weiss nicht so genau wie in diesem Fall ansetzen soll. Ich hoff ihr könnt mir hier paar Tipps geben.
Im allgemeinen geht es darum einen 3D-Plot mit 4 Variablen zu erzeugen.
Ich habe nun mittels einem MKS-Programm 27 txt.Dateien erhalten, in dem für unterschiedliche Parametervariationen die Eigenwerte ausgegeben wurden. Im folgenden ist ein Beispiel für die txt.Datei dargestellt:
136 # number of Eigenvalues (total)
4 # number of Eigenvalues with positive Real Parts
1 # number of Zero Eigenvalues
#
# No. | Real-Part Imag.-Part | Nat.Damping Frequency | Undamped Frequency |
# | [1/s] [rad/s] | [-] [Hz] | f0 [Hz] |
# ----------+----------------------------+------------------------+--------------------+
# 1 | -3.9850E+03 + 0.0000E+00 | 1.0000 0.0000 | |
# 2 | -3.9850E+03 + 0.0000E+00 | 1.0000 0.0000 | |
# 3 | -3.9796E+03 + 0.0000E+00 | 1.0000 0.0000 | |
# 4 | -3.9796E+03 + 0.0000E+00 | 1.0000 0.0000 | |
# 5 | -3.9735E+03 + 0.0000E+00 | 1.0000 0.0000 | |
# 6 | -3.9735E+03 + 0.0000E+00 | 1.0000 0.0000 | |
# 7 | -3.9639E+03 + 0.0000E+00 | 1.0000 0.0000 | |
# 8 | -3.9639E+03 + 0.0000E+00 | 1.0000 0.0000 | |
# 9 | -3.7500E+03 + 0.0000E+00 | 1.0000 0.0000 | |
# 10 | -3.7500E+03 + 0.0000E+00 | 1.0000 0.0000 | |
# 11 | -3.7500E+03 + 0.0000E+00 | 1.0000 0.0000 | |
# 12 | -3.7500E+03 + 0.0000E+00 | 1.0000 0.0000 | |
# 13 | -3.7458E+03 + 0.0000E+00 | 1.0000 0.0000 | |
# 14 | -3.7458E+03 + 0.0000E+00 | 1.0000 0.0000 | |
# 15 | -3.7452E+03 + 0.0000E+00 | 1.0000 0.0000 | |
# 16 | -3.7452E+03 + 0.0000E+00 | 1.0000 0.0000 | |
# 17 | -2.9962E+03 + 0.0000E+00 | 1.0000 0.0000 | |
# 18 | -2.9962E+03 + 0.0000E+00 | 1.0000 0.0000 | |
# 19 | -2.9950E+03 + 0.0000E+00 | 1.0000 0.0000 | |
# 20 | -2.9950E+03 + 0.0000E+00 | 1.0000 0.0000 | |
# 21 | -2.9936E+03 + 0.0000E+00 | 1.0000 0.0000 | |
# 22 | -2.9936E+03 + 0.0000E+00 | 1.0000 0.0000 | |
# 23 | -2.9926E+03 + 0.0000E+00 | 1.0000 0.0000 | |
# 24 | -2.9925E+03 + 0.0000E+00 | 1.0000 0.0000 | |
# 25 | -5.0472E+02 + 0.0000E+00 | 1.0000 0.0000 | |
# 26 | -4.9600E+02 + 0.0000E+00 | 1.0000 0.0000 | |
# 27 | -4.9228E+02 + 0.0000E+00 | 1.0000 0.0000 | |
# 28 | -4.8387E+02 + 0.0000E+00 | 1.0000 0.0000 | |
# 29 | -2.7314E+02 + 0.0000E+00 | 1.0000 0.0000 | |
# 30 | -2.7291E+02 + 0.0000E+00 | 1.0000 0.0000 | |
# 31 | -2.5918E+02 + 0.0000E+00 | 1.0000 0.0000 | |
# 32 | -2.5620E+02 + 0.0000E+00 | 1.0000 0.0000 | |
# 33 | -2.2500E+02 + 0.0000E+00 | 1.0000 0.0000 | |
# 34 | -2.2500E+02 + 0.0000E+00 | 1.0000 0.0000 | |
# 35 | -2.0253E+02 + 0.0000E+00 | 1.0000 0.0000 | |
# 36 | -1.9922E+02 + 0.0000E+00 | 1.0000 0.0000 | |
# 37 | -1.4070E+00 + 0.0000E+00 | 1.0000 0.0000 | |
# 38 | -8.8481E-01 + 0.0000E+00 | 1.0000 0.0000 | |
# 39 | -6.0779E-01 + 0.0000E+00 | 1.0000 0.0000 | |
# 40 | -6.0222E-01 + 0.0000E+00 | 1.0000 0.0000 | |
# 41 | -2.7272E-03 + 0.0000E+00 | 1.0000 0.0000 | |
# 42 | -3.0801E-04 + 0.0000E+00 | 0.0000 0.0000 | |
# 43 | -1.6220E-08 + 0.0000E+00 | 0.0000 0.0000 | |
# 44 | 5.3959E-04 + 0.0000E+00 | 1.0000 0.0000 | |
# 45/ 46 | 6.5022E-04 +/- 1.6571E-03 | -0.3653 0.0003 | 0.0003 |
# 47/ 48 | -7.6856E-01 +/- 3.1962E+00 | 0.2338 0.5087 | 0.5232 |
# 49/ 50 | -2.0411E+00 +/- 4.7832E+00 | 0.3925 0.7613 | 0.8277 |
# 51/ 52 | -1.4083E+00 +/- 6.4239E+00 | 0.2141 1.0224 | 1.0467 |
# 53/ 54 | -1.5109E+00 +/- 6.6136E+00 | 0.2227 1.0526 | 1.0797 |
# 55/ 56 | -2.8117E+00 +/- 6.9336E+00 | 0.3758 1.1035 | 1.1908 |
# 57/ 58 | -6.7307E+01 +/- 3.0545E+01 | 0.9106 4.8614 | 11.7638 |
# 59/ 60 | -6.5575E+01 +/- 3.0721E+01 | 0.9056 4.8894 | 11.5251 |
# 61/ 62 | 3.7215E+00 +/- 3.1411E+01 | -0.1177 4.9993 | 5.0342 |
# 63/ 64 | 3.4117E+00 +/- 3.1701E+01 | -0.1070 5.0453 | 5.0745 |
# 65/ 66 | -4.9218E+00 +/- 3.3428E+01 | 0.1457 5.3202 | 5.3776 |
# 67/ 68 | -5.1677E+00 +/- 3.3513E+01 | 0.1524 5.3338 | 5.3968 |
# 69/ 70 | -9.5432E+00 +/- 3.8267E+01 | 0.2420 6.0904 | 6.2769 |
# 71/ 72 | -8.9656E+00 +/- 3.8630E+01 | 0.2261 6.1481 | 6.3115 |
# 73/ 74 | -2.4637E+00 +/- 3.9106E+01 | 0.0629 6.2239 | 6.2363 |
# 75/ 76 | -1.4852E+00 +/- 4.3324E+01 | 0.0343 6.8952 | 6.8992 |
# 77/ 78 | -1.3959E+00 +/- 4.4342E+01 | 0.0315 7.0573 | 7.0608 |
# 79/ 80 | -2.8876E+00 +/- 4.7247E+01 | 0.0610 7.5196 | 7.5336 |
# 81/ 82 | -6.5239E-01 +/- 1.3357E+02 | 0.0049 21.2585 | 21.2587 |
# 83/ 84 | -7.4736E-01 +/- 1.3365E+02 | 0.0056 21.2716 | 21.2719 |
# 85/ 86 | -4.7561E+01 +/- 1.5126E+02 | 0.3000 24.0740 | 25.2359 |
# 87/ 88 | -4.7989E+01 +/- 1.5176E+02 | 0.3015 24.1538 | 25.3326 |
# 89/ 90 | -1.8828E+01 +/- 1.5768E+02 | 0.1186 25.0955 | 25.2737 |
# 91/ 92 | -1.9032E+01 +/- 1.5789E+02 | 0.1197 25.1294 | 25.3113 |
# 93/ 94 | -1.2560E+00 +/- 1.7279E+02 | 0.0073 27.4999 | 27.5006 |
# 95/ 96 | -1.2579E+00 +/- 1.7294E+02 | 0.0073 27.5245 | 27.5253 |
# 97/ 98 | -6.1068E+00 +/- 2.0914E+02 | 0.0292 33.2859 | 33.3001 |
# 99/ 100 | -5.9945E+00 +/- 2.0922E+02 | 0.0286 33.2985 | 33.3122 |
# 101/ 102 | -1.1152E+01 +/- 2.2700E+02 | 0.0491 36.1286 | 36.1721 |
# 103/ 104 | -1.1047E+01 +/- 2.2702E+02 | 0.0486 36.1306 | 36.1734 |
# 105/ 106 | -2.1266E+01 +/- 2.3502E+02 | 0.0901 37.4048 | 37.5576 |
# 107/ 108 | -2.0935E+01 +/- 2.3646E+02 | 0.0882 37.6339 | 37.7811 |
# 109/ 110 | -4.7981E+01 +/- 2.8712E+02 | 0.1648 45.6970 | 46.3306 |
# 111/ 112 | -4.9660E+01 +/- 2.8843E+02 | 0.1697 45.9048 | 46.5803 |
# 113/ 114 | -3.2386E+01 +/- 3.3646E+02 | 0.0958 53.5486 | 53.7961 |
# 115/ 116 | -3.3241E+01 +/- 3.3967E+02 | 0.0974 54.0603 | 54.3186 |
# 117/ 118 | -3.3945E+01 +/- 3.8500E+02 | 0.0878 61.2748 | 61.5125 |
# 119/ 120 | -3.4808E+01 +/- 3.8783E+02 | 0.0894 61.7257 | 61.9738 |
# 121/ 122 | -1.1335E+02 +/- 1.9388E+03 | 0.0584 308.5694 | 309.0963 |
# 123/ 124 | -1.1348E+02 +/- 1.9431E+03 | 0.0583 309.2559 | 309.7829 |
# 125/ 126 | -1.1513E+02 +/- 1.9581E+03 | 0.0587 311.6436 | 312.1818 |
# 127/ 128 | -1.1457E+02 +/- 1.9591E+03 | 0.0584 311.8072 | 312.3399 |
# 129/ 130 | -1.0379E+02 +/- 2.0495E+03 | 0.0506 326.1865 | 326.6045 |
# 131/ 132 | -1.0428E+02 +/- 2.0608E+03 | 0.0505 327.9815 | 328.4012 |
# 133/ 134 | -1.0491E+02 +/- 2.0632E+03 | 0.0508 328.3741 | 328.7983 |
# 135/ 136 | -1.0589E+02 +/- 2.0739E+03 | 0.0510 330.0654 | 330.4954 |
Diese Eigenwerte in der Tabelle sind jetz für eine Geschwindigkeit von 50km/h, einer Dämpfung von 3Ns/m und lambda von 0.1 gültig.
Ich möchte nun das Matlab mir die Zeilen und Spalten mit negativer Dämpfung (farbig markiert) herausfilter und als 4 Variable in einem 3D-Plot (lambda (x), Geschwindigkeit (y), Dämpfung(z)) plottet.
Das erste Problem bei dem ich nicht weiß wie ich beginnen soll, ist das einlesen der txt. Dateien. Das MKS-Programm hat für jede Parametervariation einen eigenen Ordner angelegt, bei dem die txt.Datei hinterlegt ist. Wie gehe ich da am klügsten vor? Wäre für paar Tipps sehr dankbar.
Gruss
kwd46056
|
|
|
|
|
wusa |
Forum-Anfänger
|
|
Beiträge: 42
|
|
|
|
Anmeldedatum: 20.06.17
|
|
|
|
Wohnort: Berlin
|
|
|
|
Version: 2021
|
|
|
|
|
|
Verfasst am: 29.12.2017, 22:35
Titel:
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.432
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 30.12.2017, 00:18
Titel:
|
|
Hallo,
ich würde ja sagen, in der Doku zu
textread
steht all das, was in dem Link steht, und mehr: nämlich, dass die Funktion nicht mehr empfohlen wird und stattdessen textscan.
Bei der Datei wird es aber so oder so mühsam, die Einstellungen so zu machen, dass sie richtig eingelesen wird. Am einfachsten dürfte es sein, das interaktiv über Rechtsklick --> Import Data zu machen und dann aus der Auswahl eine Funktion zu generieren.
Grüße,
Harald
|
|
|
kwd46056 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 39
|
|
|
|
Anmeldedatum: 27.10.17
|
|
|
|
Wohnort: Regensburg
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 09.01.2018, 21:35
Titel:
|
|
Guten Abend,
brauch mal wieder hilfe. Habe folgenden Code geschrieben, der mir das Verzeichnis mit Ordnern festlegt. Desweitern habe ich jetzt die einzelnen Ordner aus dem Verzeichnis als Vektor in ein 1x32 cell geschrieben. Wie kann ich jetzt die Dateien in den Unterordnern mit der Endung .spck in die jeweiligen cell einlesen? hab das mit dem Befehl dir versucht, allerding bringt er mir da die Fehlermeldung:
Error using dir Function is not defined for 'cell' inputs.
Error in Untitled6 (line 19)
files = dir([pth{1,1} '*.spck']);
Könnt ihr mir da weiterhelfen?
Gruss kwd46056
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.432
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 09.01.2018, 22:28
Titel:
|
|
Hallo,
bitte grundsätzlich für eine neue Frage ein neues Thema aufmachen.
Seit R2016b kann
dir
direkt Dateien aus Unterverzeichnissen einlesen. Wenn du also diese oder eine neuere Version hast, kannst du dir das Leben damit deutlich vereinfachen. Insbesondere falls nicht, schreib das bitte in dein Profil oder gib es bei der Fragestellung an.
Grüße,
Harald
|
|
|
kwd46056 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 39
|
|
|
|
Anmeldedatum: 27.10.17
|
|
|
|
Wohnort: Regensburg
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.01.2018, 07:51
Titel:
|
|
Hallo Harald,
danke für die Antwort, werde deine Forderungen beim nächsten mal beherzigen. Ich benutze die Version R2016b.
Den Befehl
wollte ich benutzen. Dieser bringt mir aktuell aber eine Fehlermeldung.
Error using dir Function is not defined for 'cell' inputs.
Error in Untitled6 (line 19)
files = dir([pth '*.spck']);
Habe auch schon versucht, dass Verzeichnis d, ohne genpath einzulesen und dann mit
die Dateien aus den Unterordnern einzulesen. Ohne Erfolg
Gruss
kwd46056
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.432
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 10.01.2018, 09:03
Titel:
|
|
Hallo,
Zitat: |
Habe auch schon versucht, dass Verzeichnis d, ohne genpath einzulesen und dann dir die Dateien aus den Unterordnern einzulesen. Ohne Erfolg |
... und was genau hast du da versucht? Hast du ** verwendet, um alle Unterverzeichnisse durchzugehen?
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| 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.
|
|