Guten Abend zusammen, habe nur eine kurze Frage. Kann ich einem 16bit,24MHz, µC eine Polynomgleichung 6ten Grades antun oder sollte man das besser bleiben lassen. Im Bezug auf Laufzeit usw. Danke Manfred
24Mhz sind eine völlig relative Angabe, solange Du verheimlichst welche Laufzeit Du gerne hättest, also wie schnell das mindestens gehen muss. Gehen tut das auch mit 1Mhz oder 1Khz. Die Frage ist auch, ob Du Dir das per Assembler antun sollst, oder ob Du eine Hochsprache benutzen willst. Wieviel Speicher hast Du? Je weniger konkrete Angaben Du machst um so weniger kann Dir dazu jemand sagen... So ist das. Jochen Müller
kein Problem Wenn man geschickt umformt, kann man sogar alles mit Integer-Arithmetik machen.
Da ich Deine Randbedingungen nicht kenne, ist es schwer da pauschal eine Aussage zu machen. Polynomberechnungen kann man aber effizient mit dem Horner Schema implementieren. Tschau Sven!
> Horner Schema
Mit viel Praxiserfahrung scheint mir das selbst in Assembler noch
umsetzbar zu sein.
Sry falscher Threat, bin in Firefox mit den Tabs durcheinander gekommen. Gruß Jens
Selbstverständlich kann man mit einem µC Polynomgleichungen berechnen - wenn Rechenzeit nicht kritisch ist. Das hängt einfach davon ab, was der µC sonst noch so zu tun hat bzw. wie oft pro Zeiteinheit eine solche Berechnung durchzuführen ist.
@ Praktisch: Natürlich ist auch Assembler möglich! Letzendlich ist das Horner- Schema doch nur ein clevere Umstellung der Polynomgleichungen für eine effiziente Berechung. Tschau Sven!
@ rotzfrech: Integer-Arithmetik und damit Festkommazahlen sollte auf einem Mikrocontroller immer zum Einsatz kommen! Denn wenn die Anzahl der Nachkommastellen für Festkommazahlen einmal festgelegt wurde, läst sich im Gegensatz zu Floatkommazahlen auch JEDE Zahl darstellen. Abgesehen davon sind Integer-Algorithmen grundsätzlich effizienter als Floatkommaberechungen. Tschau Sven!
Besser ein Polynom 6.Grades als eine Exponentialfunktion...
@ Knilch: Würde ich so pauschal nicht sagen! Denn selbst mit dem Horner-Schema sind Multiplikationen notwendig, um ein Polynom zu berechnen. Die Exponentialfunktion läßt sich aber mit dem CORDIC-Algorithmus berechnen, und der benutzt nur Additionen und Schiebebefehle. Tschau Sven!
Vielleicht sollte Manfred genauer beschreiben, was er eigentlich will. Die meisten hier scheinen davon auszugehen, das es um die Berechnung von Polynomen geht. Manfred schreibt aber von Polynom_gleichungen_, was ich so interpretiere, dass Gleichungen 6. Grades gelöst werden sollen, was gleichbedeutend mit der Nullstellenbestimmung von Polynomen 6. Grades ist. So etwas ist natürlich deutlich schwieriger als das bloße Einsetzen von Werten in eine Polynomfunktion. Aber auch das ist auf einem Mikrocontroller natürlich möglich, wenn man ihm genügend Zeit zugesteht, und wenn der Speicher für den Programmcode und die benötigten Variablen ausreicht.
sollte man ? ne Frage des Willens ... Wollens beim uC steht das ' C ' fuer 'Controller'...nicht fuer 'Calculator'
Türlich geht das. Und wenn du damit weiterrechnen willst, und nicht das letzte bisschen Performance entscheidend ist, tu dir den Gefallen und nimm floats. Aber 1000 Gleichungen / Sekunde wirst du damit nicht lösen können. In einen meiner Taschenrechner sitzt eine 4-Bit Saturn CPU mit 8MHz. Die löst solche Gleichungen im Handumdrehen symbolisch.
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? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.