Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
Hallo zusammen ich habe mal wieder eine neues Problem.
Ich versuche grad einen Rechenalgorythmus zur Berechnung des Reflektionsgrades zu entwickeln, ich hab auch soweit alle Rechenoperationene im Blockdiagramm eingetragen, nun würde ich das
gerne überprüfen, und die Ergebnisse in eine Tabelle schreiben, kann mir jemand sagen wie ich das hinbekomme? Ich bekomme als Ergebnis eine Double Komplex zahl und würde die gerne mit jedem Schleifendurchlauf der For Schleife in die Tabelle schreiben, aber irgendwie bekomm ich das nich hin, wär toll, wenn jemand einen Tipp hätte
Ein schönes Wochenende euch allen!
Gruß
Maxi
anbei mal ein Beispiel, wie du jede Zahl in Real- und Imag.Teil getrennt in die Datei schreiben kannst, oder im 2. Bil, wie du eine Floatzahl in die Datei schreiben kannst, die im übrigen keine Exceldatei ist, sondern nur eine mit Excel öffenbare csv-Datei.
Gruß, Marko
29.07.2013, 09:01 (Dieser Beitrag wurde zuletzt bearbeitet: 29.07.2013 09:03 von max.milt.)
Danke für die schnelle Antwort,
also wenn ich dich richtig verstanden habe, dann meinst du ich muss mein Daten in Real und Imaginärteil trennen, das in ein Array zusammenfassen und dann in Tabelle schreiben?
So hab ichs grad verbunden und ich bekomme zumindest keine Fehlermeldung, das andere Problem, das ich habe ist, dass die Schleife irgendwie nicht durchläuft ich bekomm immer nur 2 Werte, obwohl die Schleife
eigentlich 6000 mal durchlaufen sollte, zumindest habe ich das eingegeben. Kannst du mir da auch noch einen Tipp geben?
Gruß Maxi
Achso so schaut das jetzt aus bei mir
29.07.2013, 09:10 (Dieser Beitrag wurde zuletzt bearbeitet: 29.07.2013 09:16 von GerdW.)
Zitat:das andere Problem, das ich habe ist, dass die Schleife irgendwie nicht durchläuft ich bekomm immer nur 2 Werte, obwohl die Schleife eigentlich 6000 mal durchlaufen sollte, zumindest habe ich das eingegeben. Kannst du mir da auch noch einen Tipp geben?
Wie oft läuft eine autoindizierende Schleife in LabVIEW durch? (Ist eine LabVIEW-Grundlagenfrage und du wurdest schon mal auf die Grundlagenkurse hingewiesen...)
Tipp: Hast du es schon mal mit Highlight-Debugging probiert?
Code-Analyse:
- Vieles von deinen Rechnungen könnte außerhalb der Schleife liegen, LabVIEW ist oft polymorph und Funktionen können auch mit Arrays umgehen...
- Warum liest du 1D-Arrays ein, wandelst diese in ein 2D-Array um, um diese dann wieder per Autoindizierung in ein 1D-Array umzuwandeln und diese dann per IndexArray in Einzelelemente zu zerlegen? (Genau hier dürfte auch irgendwo dein Problem liegen, da die FOR-Loop nur genau einmal durchläuft...)
- Viele deiner Berechnungen ließen sich "effizienter" programmieren: es gibt eine fertige "2pi"-Konstante, es gibt eine Kehrwert-Funktion, Multiplizieren mit dem Kehrwert heißt üblicherweise Dividieren, usw.
Also ich versteh ehrlich gesagt grad nicht, worauf du hinauswillst.
Die Schleife läuft von i=0 bis N und für N habe ich ne Konstante von 6000 eingegeben, also sollte sie doch 6000 mal durchlaufen oder nicht?
Beim Highlight sieht man, dass das Problem anscheinend bei der Übergabe der Real und Imagniärteilwerte an die Schleife liegt, er zeigt nur an,
dass er 1x6000 übergibt und genau da liegt wohl das Problem, ich wollte das ja auch gar nich so machen, ich bekomm ja durch das einlesen
ein 1d Array aber dieses Array kann ich nicht in die schleife ziehen und da indizieren, da gibt er mir immer einen Fehler "Sie haben einen skalaren Datentyp
mit einem Array desselben Datentyps verbunden" aus, deswegen bin ich ja auch ziemlich ratlos ehrlich gesagt, weil ich nich weiß, wo das Problem is für
Labview. Im Prinzip will ich bei jedem Schleifendurchlauf den i-ten Wert des Arrays für den Real und Imaginärteil auslesen und damit rechnen aber irgendwie
bekomm ich das nich hin. Ich bin halt leider nicht der LabView checker deswegen tu ich mir da doch ein bisschen schwer...
noch einmal der allgemeine Hinweis auf die Grundlagenkurse (in meiner Signatur!) und der explizite Hinweis auf die Autoindizierung bei Schleifen!
Warum wandelst du deine 1D-Arrays in 2D-Arrays um?
Warum willst du Autoindizierung und IndexArray gleichzeitig nutzen? Warum nicht nur Autoindizierung?
wenn du per AutoIndexing ein Array an eine Forschleife übergibst, läuft sie genauso oft durch, wie Elemente in dem Array stehen. Übergibst du 2 Arrays, läuft sie sooft durch, wie die geringere Arrayanzahl ist - in dem Fall spielt dein N-Anschluss keine Rolle mehr, es sei denn, dieser ist noch kleiner, als das "kürzeste" Array.
Achso das bedeutet, wenn im einen Array nur 1 Wert ist, dann läuft die Schleife nur 1x durch oder?
Könnte ich dann das Problem beheben, wenn ich die Dateien in der For Schleife öffne? Kostet zwar wahrscheinlich ziemlich
Rechenleistung, aber das wäre mir nicht so wichtig...