www.mikrocontroller.net

Forum: Offtopic Mathe Umform-Problem (Polynomglieder/ gar nicht so einfach)


Autor: Zoltan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe folgendes Mathe-Problem. Ich möchte die Glieder eines Polynoms
aus einer Gleichung in verschiedenen Variablen speichern.

Als Beispiel liefert mir der TI92 oder Matlab folgende Gleichung:
x^2*T1*T2*k1 + x*T2*k3*k1 + k2*k1

daraus möchte ich diese Variablen erzeugen (ohne sie manuell eingeben
zu müssen)
 a = T1*T2*k1
 b = T2*k3*k1
 c = k2*k1

Hat jemand eine Idee wie ich diese Umformung programmieren könnte?



Gruß
Zoltan

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Worauf/womit programmierst du?

Autor: Rolf F. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du solltest die redundanten Terme zusammenfassen, damit dieselbe
Multiplikation nicht mehrmals sondern nur einmal durchgeführt wird:

(x*T2*(x*T1 + k3) + k2)*k1

Autor: Niels (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,


Es gibt ne Funktion, die Dir von einem Polynom die Vorfaktoren als
Array bereitstellt.

Weiß leider gerade nicht, welche :-(

Gruß Niels

Autor: Zoltan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Mike
Ich möchte einen TI92+ programmieren.

@Rolf F.
Ich sehe grad nicht wo hin das führen soll.

@Niels
In welchem Programm? In Matlab habe ich keinen speziellen Befehl dafür
gefunen (Ich will sowieso den TI92 benutzen).


Gruß
Zoltan

Autor: Patric (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In Matlab geht das mit sym2poly()

Beispiel:

>> syms x;
>> y=5*x^4-3*x^3+8*x^2-x+3;
>> coeff=sym2poly(y);
>> coeff

coeff =

     5    -3     8    -1     3

>> roots(coeff)

ans =

   0.3697 + 1.0337i
   0.3697 - 1.0337i
  -0.0697 + 0.7021i
  -0.0697 - 0.7021i

>>

Autor: Zoltan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Patric,

sym2poly hab ich schon probiert, aber sobald du mehrere symbolische
Variablen in der Gelichung hast bekommt man eine Fehlermeldung:

??? Error using ==> sym.sym2poly
Input has more than one symbolic variable.

Aber ich brauche sowieso eine Lösung für den TI92+.

Autor: Patric (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klar. Dafür ist sym2poly auch nicht gedacht.

Wenn du uns etwas mehr zum eigentlichen Problem erzählst kann man dir
evtl auch helfen.

Autor: Rolf F. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Zoltan:

Effiziente Polynom-Darstellung:

Horner's Method
Any polynomial in the form P(x) = ax^n + bx^(n-1) + ... dx + e can be
expressed
in a form requiring fewer operations. For example:
P(x) = ax^3 + bx^2 + cx + d = x(x( ax + b ) + c) + d

=> Die Komplexität ist O(n), während sie nach der Definitions-Formel
O(n^2) ist!

Autor: Zoltan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Rolf,

jetzt sehe ich was du meinst, aber das Problem ist die Variablen aus
dem Ergebnis herauszubekommen und sie in getrennte Variablen zu
speichern.
Danke trotzdem.

Es ist schon beinahe witzig, dass so eine "einfache" Umformung mit
dem Taschenrechner dermassen schwierigkeiten bereitet.

Autor: Zoltan (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Diese Funktion liefert nun auf einem TI92+ für Polynome (bis x^3) die
zugehöriegen Glieder als Vektor.

zb:
:polyglie(s^3*T3*k1 + s + 5*k1,s)
:[T3*k1 0 1 5*k1]

Gruß
Zoltan

Autor: Zoltan (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Und an bei die Datei noch für den TI92+.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail, Yahoo oder Facebook? Keine Anmeldung erforderlich!
Mit Google-Account einloggen | Mit Yahoo-Account einloggen | Mit Facebook-Account einloggen
Noch kein Account? Hier anmelden.