WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Programmierung

Programmierung Rat & Tat für Programmierer

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 13.03.2004, 16:36   #1
jak
Inventar
 
Registriert seit: 13.06.2001
Beiträge: 1.830


Standard

1.) Vielleicht findest du bei google was wenn du nach "symbolischem Differenzieren" oder so was in der Art suchst.

2.) Wie machenes denn die anderen Leute, die das lösen sollen?

3.) Wenns nur einfache Sachen lösen soll, kannst du ja probieren dem Programm die Rechenregeln "beizubringen":
Das Programm erwartet einen Ausdruck der Form
(((a^4+5*a^2)/(a^3+7*a)),a) und wendet darauf die Rechenregeln an:
1.) es durchsucht den Ausdruck nach Bruchstrichen und Multiplikationen, teilt den Ausdruck solange bis man auf einfache Terme kommt und wendet die einzelnen Regeln an:
f-->(a^4+5*a^2)
g-->(a^3+7*a)
h-->a^4
i-->5*a^2
f'=h'+i'=4*a^3+10*a
j-->a^3
k-->7*a
g'=j'+k'3*a^2+7
Auf das ganze wird dann die Quotientenregel angewendet:
(f'*g-f*g')/g^2

So in der Art halt.
Das müsste sich eigentlich ganz gut rekursiv programieren lassen, so in der art:
diff(string func, char var){
if (func.enthält('/')!=-1) teile func bei '/' und rufe mit beiden teilen diff() auf
usw.
Es muss dann nur wissen, daß man beim Ableiten die Hochzahl um 1 verringert und mit der Zahl multipliziert, und das eine Zahl abgeleitet 0 ergibt. Dann kann man i z.B. auch nach der Produktregel behandeln:
(5*a^2)'=0*a^2+5*2*a=10*a

Jak
____________________________________
Join the DNRC | Godwin\'s Law (thx@stona)
Documentation is like sex: If it\'s good, it\'s very, very good. If it\'s bad, it\'s better than nothing.
\"In theory, theory and practice are the same. In practice, they are not\" (Lawrence Berra)
jak ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 22:24 Uhr.


Powered by vBulletin® Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag