Differentieren / Integrieren
Übersicht

![]() |
EingeproggtBetreff: Differentieren / Integrieren |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mal eine hochgeistige Frage:
Wie kann man numerisch (besser gesagt mit dem Computer) differentieren bzw. integrieren? Händisch hab ichs (und viele von euch) schon gelernt, aber das so in ein Programm zu schreiben wäre Unsinn zum Quadrat. Als Beispiel nenne ich so ein Pimperlbeispiel: Das unbestimmte Integral von x², also ohne Zahlenwerte. Da macht man händisch einfach x³/3+C draus. Und wie sag ich es dem pc? Wenn symbolisches Arbeiten in Blitz eine Nummer zu hoch ist, wärs natürlich blöd... Schonmal DANKE für alle Antworten! |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
![]() |
NightPhoenix |
![]() Antworten mit Zitat ![]() |
---|---|---|
x²
integriert: x³/3 differenziert: 2x dem computer sagst du das so: ax^n -> integriert -> (ax^n+1)/(n+1) ax^n -> differenziert -> anx^n-1 n = exponent ^ = "hoch..." mfg. |
||
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das wären die Grundlagen. Und wenn ich jetzt etwas komplxere Probleme hab?
Wo man die ganzen anderen Regeln anwenden muss? Ist ja händisch schon schwer genug, aber dem computer zu sagen, dass wenn ein "*" vorkommt, er den ersten Faktor ableiten soll, den zweiten unverändert lassen, das plus dem ersten Faktor unverändert mal den zweiten abgeleiten soll. Das ist doch ein irrsinns-Aufwand (und nebenbei bemerkt nur für eine von vielen Regeln) |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Es ist ein Irrsinsaufwand und in Blitz wegen dem Float Verhalten auch nicht umzusetzen. Wenn du dich allerdings dafür interessierst kann ich dir das eine oder andere wissenschaftliche Buch angeben, welches dir die nötige Materie für wissenschaftliches Rechnen und Numerik vermittelt (Warnung: 4-6 Semester matheorientiertes Ingenieursstudium) | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich versteh nicht, wie das ganze so ausarten kann... immerhin können das auch Taschenrechner mit einem Bruchteil der Rechenleistung. Na gut, die sind aber auch von weit größeren Genies als meinem programmiert worden^^
Was die Bücher angeht: Interessiern tuts mich, aber 4-6 Semester Ingenieursmathematik hab ich noch nicht. |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
![]() |
KabelbinderSieger des WM-Contest 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hm, du kannst es vielleicht auch geometrisch annähern:
Differenzierung: f '(x) lim h->0 = [f(x)-f(x+h)]/[x-(x+h)] Differenzenquotient halt und dann eben h gegen 0, sprich 0.001 oder irgendwie sowas. Hier funktioniert es auf zwei Stellen nach dem Komma genau: Code: [AUSKLAPPEN] Const h# = 0.001
x = 5 m# = ((x^2)-(x+h)^2)/(x-(x+h)) Print m WaitKey End f(x)=x² f '(x)=2x bei x=5 müsste herauskommen f '(5)=10 und es kommt heraus f '(5)=10.001 Beim Integrieren müsstest du dann meine ich ene For-Schleife nehmen: (Das als Formel auszuschreiben mit Sigam und so ist mir hier zu kompliziert) Code: Code: [AUSKLAPPEN] Const n# = 0.01
a#=2 b#=7 F#=0 For i# = a To b Step n F=F + (i^2)*n Next Print F WaitKey End müsste herauskommen 111.6666 und es kommt heraus 111.443 Also soetwa funktioiert das. setzt allerdings voraus, dass du das ganz praktisch beim berechnen von Steigungen Integralen und Flächen anwenden willst. Zum finden von Stammfunktionen und Ableitungen isses nicht geeignet. Außerdem ist es wie gesagt ein bisschen ungenau, besonders bei großen x. Und bei 1/x z.b. tirfft man hier bei der integratin glaube ich auch auf granit... |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Eingeproggt hat Folgendes geschrieben: Ich versteh nicht, wie das ganze so ausarten kann... immerhin können das auch Taschenrechner mit einem Bruchteil der Rechenleistung. Na gut, die sind aber auch von weit größeren Genies als meinem programmiert worden^^
Was die Bücher angeht: Interessiern tuts mich, aber 4-6 Semester Ingenieursmathematik hab ich noch nicht. Erm Rechner können das nur wenn sie Rechenmonster drin haben. Ich habe einen HP 38, dessen Differentialfähigkeiten hören nach Polynomen recht schnell auf. Da muss ich dann schon Maple / Matlab auffahren um was gescheites dabei raus zu bekommen. Kannst ja Mal deinen Rechner nach einer Lösung eines zusammengesetzten Terms mit ln(f(x)) * e^g(x) fragen ... wird häufig nicht viel gescheites liefern ausser du hast einen 150-300 Euro Rechner und der steht der Leistung eines Desktopsystems für diese spezielle Anwendung in keinster Form nach. Für Dinge polynomiale Differentiation / Integration ist effektiv obere Variante am sinnvollsten bzw allgemein: Wenn du nur numerische Resultate willst und keine algebraischen, kann ich dir die Suche nach numerischen Methoden und speziell numerischer Integration / Differentiation empfehlen. Dann kannst du dir den nicht anfängertauglichen Weg über Ingenieurbücher ersparen und das ist auch das was Rechner bedeutend besser können als algebraische Lösungen. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Vertex |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hmm, soweit ich das noch in Erinnerung habe, liese sich das mit einem Compiler umsetzen, denn großartig gerechnet werden muss nicht.
Es gibt doch für Produkte und Summen Regeln... c´ = 0 (u*v)´ = u´*v + u*v´ (u + v)´ = u´ + v´ (u/v)´ = (u´*v - u*v´)/v² (sin x)´ = cos x usw. Der Compiler muss also entsprechend Konstanten, Funktionen, Summen, Produkte usw. erkennen und dann entsprechend eine Ausgabe durch die Formeln produzieren. Das funktioniert in etwa so: http://blitzbasic.com/codearcs...?code=1768 Bloß wäre dein Geschehen wesentlich komplexer. mfg olli |
||
vertex.dreamfall.at | GitHub |
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
In der Zwischenzeit hab ich mal eine symbolische Lösung versucht....
und nach ner halben Stunde wieder geschmissen. Ich lass mir mal die numerische Art durch den Kopf gehen, Danke. Ach und Dreamora: Jetzt weiss ich erst, was ich für ein Goldstück von Taschenrechner hab^^ TI Voyage 200, differentiert und integriert alle Funktionen in wenigen Sekunden. Dein Beispiel war auch ein Kinderspiel (meine Annahme für f(x) und g(x) war allerdings wieder nur eine Polynomfunktion 2, bzw. 3. Ordnung) |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Polynome sind allgemein recht harmlos, die kann man auch von Hand einfach so umsetzen. Aber jo, der Voyager ist ein rechtes Rechenmonster, der ist auch hier recht beliebt ![]() |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group