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

Variable Einlesen

 

Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.11.2016, 13:28     Titel: Einlesen von Variabeln
  Antworten mit Zitat      
Hylo, da bin ich wieder,

ich arbeite gerade an einer Arbeit und ich häng den ganzen Tag am GTR ich möchte mir das vereinfachen und schreibe ein Code.
Ich bin immer noch Anfänger weil ich viel zu wenig mache, wie auch immer.
Ich möchte Variabeln einlesen und hatte gedacht ich mach des folgender Maßen:

pn=input("Wie groß ist die Leistung ","string")
ua = input("Wie groß ist die Spannung an der Last ","string")

Kann wahrscheilich mit dem String nicht weiter rechnen wie es aussieht.
Und eine zusatz Frage, wenn ich die Sache über Matrix angehen möchte indem ich:

string(rand(2,2)) =("Eingabe a,b,c,d "," Was müsste hier rein?") bzw klappt das überhaupt also bei mir nicht

Danke schon mal lg
Gesplittet: 12.11.2016, 15:33 Uhr von Jan S
Von Beitrag Vergeichen von Vektoren aus dem Forum Scilab / Xcos (ehemals Scicos) Forum


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 12.11.2016, 15:37     Titel: Re: Einlesen von Variabeln
  Antworten mit Zitat      
Hallo,

Bitte hänge keinen neuen Fragen an alte THreads an. Danke!

Zitat:
pn=input("Wie groß ist die Leistung ","string")
ua = input("Wie groß ist die Spannung an der Last ","string")

Kann wahrscheilich mit dem String nicht weiter rechnen wie es aussieht.

Dann lies es doch als Zahl ein. Oder was genau ist Deine Frage dazu?

Zitat:
Und eine zusatz Frage, wenn ich die Sache über Matrix angehen möchte indem ich:
string(rand(2,2)) =("Eingabe a,b,c,d "," Was müsste hier rein?") bzw klappt das überhaupt also bei mir nicht

Es ist nicht klar, was der gezeigte Pseudo-Code tun soll. Dann kann man kaum einen Lösungsvorschlag erfinden.
Was heißt "diese Sache über Matrix angehen"? Wozu dienen die Zufalls-VAriablen? Was soll die Zeile bewirken? Was heißt "klappt nicht" konkret?

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
brummfritz
Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 01.09.16
Wohnort: Düsseldorf
Version: Matlab R2015b
     Beitrag Verfasst am: 27.12.2016, 13:54     Titel: Textfile mit Zahlen in String einlesen und in Zahl umwandeln
  Antworten mit Zitat      
Ich habe die Frage nicht ganz verstanden,
aber wenn ich ein Textfile mit Zahlen einlese dann mache ich das so:
Code:

da=mgetl(pd);//alle daten einlesen, immer die ganze zeile als 1 string
zeile1= strsplit(da(1),["   "]);// hier werden die in einer Zeile angereiten Zahlen mit dem Trennzeichen getrennt
zeile1 = stripblanks(zeile1); // leerzeichen werden vorne und hinten entfernt
w=size(zeile1); // die anzahl der getrennten Daten wird ermittelt
zahl=eval(zeile1(1)); string wird in zahl umgewandelt


[EDITED, Jan, Bitte Code-Umgebung verwenden - Danke!]
Private Nachricht senden Benutzer-Profile anzeigen
 
Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 28.12.2016, 13:43     Titel: Re: Einlesen von Variabeln
  Antworten mit Zitat      
Hallo brummfritz,

Welche Frage hast Du nicht verstanden?
Wieso zeigst Du den Code, mit dem Du ein Text-File einliest? Was hat das mit dem Problem zu tun?

Zitat:
Dann lies es doch als Zahl ein.

Ist Dir das klar? Du lässt input mit dem 'String'-Flag explizit einen String einlesen und wandelst ihn hinterher in eine Zahl um (zumindest so weit ich es verstanden habe). Dann lasse doch den 'String'-Flag weg und lies gleich eine Zahl ein.

Zitat:
Oder was genau ist Deine Frage dazu?

Hast Du diese Frage nicht verstanden? Sie bedeutet, dass Deine Frage noch nicht klar ist.

Zitat:
Was heißt "diese Sache über Matrix angehen"?

Damit meine ich, dass ich mit dem Ausdruck "diese Sache über Matrix angehen" nichts anfangen kann. Was bedeutet das hier genau?

Zitat:
Was heißt "klappt nicht" konkret?

Auf "klappt nicht" kann man keine konkreten Verbesserungsvorschläge geben. Poste den Code und eine vollständige Kopie der Fehlermeldung bzw. erkläre den Unterschied zwischen dem Ergebnis und Deinen Erwartungen.

Es fehlen also bisher noch Details, um Deine Frage verstehen zu können. Erraten können die LEser das nicht. Also erkläre doch mal genauer.

Gruß, Jan

PS. eval ist immer eine ausgesprochen schlechte Idee. Einfach mal alle einkommenden Strings auszuführen ist sehr tückisch. Es passiert nichts, wenn nur Zahlen kommen. Aber wenn Du damit ausversehen ein File öffnest, in dem
Code:

steht, ist plötzlich Deine D-Platte leer. Klar, das passiert nicht so häufig. Aber ein Programm zu schreiben, dass alles ausführt, was man ihm vor die Nase hält, ist grundsätzliche eine wirklich richtig total schlechte Idee. fscanf und sscanf sind sichere Methoden Strings in Zahlen umzuwandeln.
Private Nachricht senden Benutzer-Profile anzeigen
 
brummfritz
Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 01.09.16
Wohnort: Düsseldorf
Version: Matlab R2015b
     Beitrag Verfasst am: 28.12.2016, 19:54     Titel:
  Antworten mit Zitat      
Die von Dir genannten Befehle sind Matlab Befehle, die in Scilab zu verwenden ist keine gute Idee.

Was machst Du mit dem folgen Textfile?

XL2 Sound Level Meter Broadband Reporting: MyProject\2014-11-20_SLM_000_123_Rpt_Report.txt
------------------------------------------


# Hardware Configuration
Device Info: XL2, SNo. xxxxxxxxxxxx, xxxxxx
Mic Type: NTi Audio M2210, S/N: xxxx, User calibrated 2013-05-11 01:37
Mic Sensitivity: 22.9 mV/Pa

# Measurement Setup
Profile: Full mode
Append mode: OFF
Timer mode: repeat
Timer set: 00:01:00
k1: 0.0 dB
k2: 0.0 dB
kset Date: k-Values not measured
Range: 10 - 110 dB

# Broadband Results
Start Stop
Date Time Date Time LASmax LASmin LAFmax LAFmin LAImax LAImin LAeq Prev. LAeq LAIeq LAeq5" LAeq5"max LAeq10' LAeq10'max LAeq15' LAeq15'max LAeq60' LAeq60'max LAE LAPKmax LAFT3eq LAFT5eq LCSmax LCSmin LCFmax LCFmin LCImax LCImin LCeq Prev. LCeq LCIeq LCE LCPKmax LZSmax LZSmin LZFmax LZFmin LZImax LZImin LZeq Prev. LZeq LZIeq LZE LZPKmax LAFT5eq-LAeq LAIeq-LAeq LCeq-LAeq LAF1% LAF5% LAF10% LAF50% LAF90% LAF95% LAF99%
[YYYY-MM-DD] [hh:mm:ss] [YYYY-MM-DD] [hh:mm:ss] [dB] [dB] [dB] [dB] [dB] [dB] [dB] [dB] [dB] [dB] [dB] [dB] [dB] [dB] [dB] [dB] [dB] [dB] [dB] [dB] [dB] [dB] [dB] [dB] [dB] [dB] [dB] [dB] [dB] [dB] [dB] [dB] [dB] [dB] [dB] [dB] [dB] [dB] [dB] [dB] [dB] [dB] [dB] [dB] [dB] [dB] [dB] [dB] [dB] [dB] [dB] [dB] [dB]
2014-11-20 09:53:20 2014-11-20 09:54:20 59.4 23.6 66.7 22.4 70.1 24.9 47.7 -.- 58.0 43.3 54.3 47.7 -.- 47.7 -.- 47.7 -.- 65.5 84.0 57.8 59.5 65.6 42.5 72.5 40.9 75.8 44.9 55.9 -.- 64.8 73.7 86.4 70.2 48.8 76.0 46.2 78.2 51.7 63.7 -.- 70.3 81.5 87.1 11.8 10.2 8.2 60.1 54.8 48.8 35.5 24.5 23.6 22.8
2014-11-20 09:54:20 2014-11-20 09:55:20 50.5 23.0 56.7 22.4 60.1 23.8 35.8 47.7 45.5 23.7 45.3 35.8 -.- 35.8 -.- 35.8 -.- 53.6 72.2 44.7 46.6 73.0 43.5 76.8 39.7 78.8 45.0 57.9 55.9 65.2 75.7 84.3 88.1 46.8 94.4 44.2 96.4 48.9 73.3 63.7 82.4 91.1 98.9 10.8 9.7 22.1 48.6 40.1 34.7 23.9 23.1 22.9 22.6
2014-11-20 09:55:20 2014-11-20 09:56:20 34.1 23.5 38.9 22.7 41.2 24.6 27.7 35.8 33.0 26.3 30.8 27.7 -.- 27.7 -.- 27.7 -.- 45.5 52.0 33.9 35.4 65.6 42.5 73.2 41.0 77.0 44.3 52.3 57.9 62.4 70.1 81.0 79.9 46.8 86.8 44.0 89.2 49.4 66.8 73.3 76.9 84.6 93.5 7.7 5.3 24.7 36.7 31.9 30.1 25.3 23.6 23.4 22.9


Da muss man ganz speziell das File lesen und dessen Struktur kennen und es muss unverändert bleiben.

Gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
brummfritz
Forum-Anfänger

Forum-Anfänger


Beiträge: 21
Anmeldedatum: 01.09.16
Wohnort: Düsseldorf
Version: Matlab R2015b
     Beitrag Verfasst am: 22.06.2017, 14:13     Titel: Daten mit einem Editor vorbereiten.
  Antworten mit Zitat      
Ich habe auch einen XL2 der solche Daten produziert.

Um diese Daten einzulesen und grafisch zu plotten habe ich diese Dateien mit dem freien Editor PSPad bearbeitet. Den Kopf der Dateien gelöscht und die Spalten links gelöscht. Dann habe ich bei den Langzeitmessungen die Daten vor einem bestimmten Datum gelöscht und auch die Daten nach einem bestimmten Datum.
Die restlichen Daten können nun ohne große Probleme eingelesen werden.

Das Resultat kannst Du hier sehen[url] http://www.derbrummton.de/site07.html[/url]

Man könnte auch mit viel Aufwand eine entsprechend programmierte Einleseroutine erstellen.
Ist halt nur Fleißarbeit.

Gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



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.