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!
Könnte mir bitte jemand helfen. Ich habe da eine ziemlich komplizierte Berechnung. Ich benötige dies für meine Abiturarbeit.
Problem: Ich verändere die Daten eines Arrays mit einen Faktor. Das Problem ist, dass die veränderten Daten in einen größeren Array ausgegeben werden.
Bsp.)
Array(mit 20 Feldern) * Faktor(jedes Feld mit dem Faktor mulitpliziert)
= Array ( mit 21 Feldern !!!!!!????)
*************************************************************
Hinweise zur Berechnung:
A= (MG*(ML-XL))/ML
für den Bereich 0<= x < XL
M=A*x
für den Bereich XL<= x<=ML
M=A*x-MG*(x-XL)
Hallo,
Ich habe zwar keine konkrete Lösung, jedoch vom ersten Auge gesehen wenige kleine Tips, welche dich von diversen Problemen fernhällt:
In deinem Code führst du links 2 Subtraktionen aus. Die Resultate werden in"y" und "h" abgespeichert. Zugleich liest du diese Register im rechten Teil (in der Sequenz) aus. Hier hast du ein klassisches "Race condition". Das bedeutet: In LV ist KEINESFALLS festgelegt, dass die Subtration vor der Sequenz abgearbeitet wird, nur weil sie links liegt!!! Für LV sind dies 3 parallele "Prozesse", welche LV in eigener Regie (ohne dass du dies beeinflussen könntest) dann ausführt, wenn es LV passt.
Übrigens, in LV SIND die Drähte, die du ziehst, die Variablen. Es ist keineswegs nötig, jede Variable im Frontpanel abzulegen. Führe einfach ein Berechnungsresultat zu allen weiteren Orten, wo dieses Resultat weiter gebraucht wird, ohne es in eine Variable einzupacken.
Jede Variable, welche du auf dem Frontpanel ablegst, brauch bei seiner Auffrischung Systemresourcen. Jedes Lesen einer Variablen über "lokale Variable" weist LV an, eine Kopie dessen zu erstellen. Wenn du jedoch nur die Fäden ziehst, kann der Compiler die Resourcen besser verwalten. Du ersparst dir dadurch die Sequenz.
--> Betrachte LV wie ein elektrisches Schema, NICHT wie ein C-Programm!!!
Fürs debugging, wenn du wirklich mal ein Zwischenresultat betrachten möchtest, gibt es Sonden (rechte Maustaste auf dem Faden).
ich kann mich nur den Anmerkungen von didierj anschliessen. Außerdem solltest Du möglichst keine lokalen/globalen Variablen benutzen, direkte Verbindungen sind wesentlich besser.
Hier ein Versuch die Funktion Deines VI's herzustellen. Ich habe es ein wenig überarbeitet, die Struktur ist allerdings immer noch nicht optimal.