Formel nach Variable auflösen - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +---- Forum: Signaldarstellung (/Forum-Signaldarstellung) +---- Thema: Formel nach Variable auflösen (/Thread-Formel-nach-Variable-aufloesen) |
Formel nach Variable auflösen - Gutelaunebär - 07.05.2012 14:16 Hallo, ich bin erst seit kurzem dabei Labview zu lernen und habe schon viel in diesem Forum gelesen, aber jetzt komme ich nicht mehr weiter: Ich möchte eine beliebige Formel (als String) eingeben, dessen Maximum nie einen festen Wert 10 überschreitet. Die Formel ist z.B.: y=-a*(t*(2*f))^2+a*t*(2*f), wobei f gegeben ist. a ist Variabel, und soll so gewählt werden, dass das Maximum y = 10 ist. Ich kann das tmax auslesen und einsetzten, mein Problem ist, wie löse ich die Formel nach a auf? Vielen Dank RE: Formel nach Variable auflösen - GerdW - 07.05.2012 14:55 Hallo Bär, mit etwas Grundlagen Mathe erhält man: Code: y=-a*(t*(2*f))^2+a*t*(2*f) LabVIEW ist eine Programmiersprache und kein Mathetool wie Maple/etc.! RE: Formel nach Variable auflösen - Lucki - 07.05.2012 15:28 Im allgemeinen Fall Y = f(a, t, f) ist es gar nicht gesagt, daß sich die Formel überhaupt auf die Darstellung a = g(y, t, f) umstellen läßt, das ist eher die Ausnahme. Was aber immer geht: Die Formel umstellen auf die Form z = f(a,t,f) - y und davon numerisch das a für z=0 ermitteln. Für diese Nullstellenbestimmung gibt es wunderbare Mathematik-VIs. RE: Formel nach Variable auflösen - Gutelaunebär - 07.05.2012 15:29 Danke schön, ich suche allerdings eine allgemeine Lösung für jede beliebige Formel. Ich dachte, vielleicht gibt es bereits ein bestehendes VI in Labview. Ich habe eine ungefähre Idee, ich habe gesehen, es gibt eine VI: Nullstellen von Polynom berechnen. Damit könnte es vielleicht gehen, ich müsste in einer Schleife verschiedene a-Werte durchlaufen lassen, bis die Gleichung-10 möglichst nah an 0 ist. Das Format des Eingangs des VIs ist allerdings ein Polynom, der akzeptiert meinen String nicht, das habe ich noch nicht hinbekommen... (07.05.2012 15:28 )Lucki schrieb: Im allgemeinen Fall Y = f(a, t, f) ist es gar nicht geagt, daß sich die Formel überhaupt auf die Darstellung a = g(y, t, f) umstellen läßt, das ist eher die Ausnahme. Danke Lucki, genauso habe ich mir das vorgestellt! Ich hab es nur noch nicht umgesetzt bekommen, aber die Idee kam mir gerade erst, ich werde es morgen nochmal probieren. RE: Formel nach Variable auflösen - Gutelaunebär - 10.05.2012 15:08 Ich habe die Formel jetzt auf die Form: -a*tmax^2+a*tmax-10 gebracht, wobei tmax eine bekannte Zahl ist. Jetzt möchte ich die Nullstellen mit der "Polynomial Roots VI" errechnen. Wie kann ich denn die Koeffizienten der Formel in einen Array bringen, der dann so aussehen müsste: -10 tmax -tmax ? RE: Formel nach Variable auflösen - GerdW - 10.05.2012 15:19 Hallo Bär, ich würde es mal so ausprobieren: [attachment=39756] RE: Formel nach Variable auflösen - Gutelaunebär - 10.05.2012 15:34 Danke Gerd. Entschuldigung, ich glaube ich habe mich undeutlich ausgedrückt. Ich habe die Formel in einem String: -a*tmax^2+a*tmax-10 Dies ist jetzt aber nur ein Beispiel. Es könnte zum Beispiel auch sein: a*(tmax*2)^3+a*tmax^2+20 Dann müsste der Array so aussehen: 20 0 tmax tmax*2 Ich muss den String also irgendwie automatisiert aufteilen, sortiert als Koeffizenten von t^0 bis t^n. RE: Formel nach Variable auflösen - Lucki - 10.05.2012 16:00 Die VIs zur Nullstellenbestimung, nicht nur für Polynome, findet man unter Mathematik /Skripte und Formeln /Nullstellen. Ich kann da aber nicht weiterhelfen, oder genauer gesagt: mangels Erfahrung müßte ich mich dann genau so abschinden wie Du auch. RE: Formel nach Variable auflösen - Gutelaunebär - 15.05.2012 13:02 Danke schön, ich habe es jetzt hinbekommen, es funktioniert wunderbar. Es ist eine while-Schleife, die die Variable a solange inkrementiert, bis die Gleichung minus/plus einer gewünschten Amplitude mindestens eine Nullstelle hat. minus/plus je nach dem, ob das Maximum oder Minimum der Funktion größer ist. |