Grundlegende Fragen < Mathematica < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 18:58 Di 29.03.2011 | Autor: | nhard |
Aufgabe | [mm] $f=a^2*b^2+c^2$ [/mm] |
Hallo, ich würde gerne folgendes einfaches Beispiel mit Mathematica rechnen (habe noch keine Erfahrung damit).
Habe schon viel herum probiert aber irgendwie komm ich nicht auf ein gutes Ergebnis.
Ich möchte meine Funktion f von oben drei mal ableiten und die Ableitungen jeweils als neue Funktion definieren.
Dann möchte meinen Variablen bestimmte Werte zuweisen, die ich dann aber jederzeit wieder ändern kann.
Also wenn ich die Ableitungen jeweils g, h und i nenne und rechnen will
$g+h+i$ mit den Werten $a=1, b=2, c=3$
dann habe ich das so gemacht:
[mm] $\(f=a^2*b^2+c^2$
[/mm]
[mm] $\(g=D[f,a]$
[/mm]
[mm] $\(h=D[f,b]$
[/mm]
[mm] $\(i=D[f,c]$
[/mm]
[mm] $\(a=1$
[/mm]
[mm] $\(b=2$
[/mm]
[mm] $\(c=3$
[/mm]
[mm] $\(g+h+i$
[/mm]
Das geht auch beim ersten mal gut.
Aber wenn ich dann die Werte für a,b,c ändern möchte klappts nicht mehr
Zum beispiel diese Fehlermeldung:
General::ivar: 1 is not a valid variable. >>
So wie ich das verstanden habe liegt das daran, dass mathematica jetzt zum Beispiel a nicht mehr als Variable, sondern als die Zahl 1 ansieht, also kann es auch nicht mehr ableiten.
Wie gebe ich denn am besten die Funktionen ein?
Wenn ich sage
[mm] $\(f[_a,_b_,_c]= [/mm] ~~$
dann müsste ich ja dann fürs ausrechen dann jedesmal die entsprechenden Werte in die eckigen Klammern setzen
also dann
g[1,2,3]+h[1,2,3]+i[1,2,3]
oder?
geht das auch einfacher?
Hoffe habe mich halbwegs verständlich ausgedrückt.
lieben Dank und Grüße
|
|
|
|
> [mm]f=a^2*b^2+c^2[/mm]
> Hallo, ich würde gerne folgendes einfaches Beispiel mit
> Mathematica rechnen (habe noch keine Erfahrung damit).
> Habe schon viel herum probiert aber irgendwie komm ich
> nicht auf ein gutes Ergebnis.
>
> Ich möchte meine Funktion f von oben drei mal ableiten und
> die Ableitungen jeweils als neue Funktion definieren.
>
> Dann möchte meinen Variablen bestimmte Werte zuweisen, die
> ich dann aber jederzeit wieder ändern kann.
>
> Also wenn ich die Ableitungen jeweils g, h und i nenne und
> rechnen will
>
> [mm]g+h+i[/mm] mit den Werten [mm]a=1, b=2, c=3[/mm]
>
> dann habe ich das so gemacht:
>
> [mm]\(f=a^2*b^2+c^2[/mm]
> [mm]\(g=D[f,a][/mm]
> [mm]\(h=D[f,b][/mm]
> [mm]\(i=D[f,c][/mm]
> [mm]\(a=1[/mm]
> [mm]\(b=2[/mm]
> [mm]\(c=3[/mm]
> [mm]\(g+h+i[/mm]
>
> Das geht auch beim ersten mal gut.
> Aber wenn ich dann die Werte für a,b,c ändern möchte
> klappts nicht mehr
> Zum beispiel diese Fehlermeldung:
> General::ivar: 1 is not a valid variable. >>
> So wie ich das verstanden habe liegt das daran, dass
> mathematica jetzt zum Beispiel a nicht mehr als Variable,
> sondern als die Zahl 1 ansieht, also kann es auch nicht
> mehr ableiten.
>
> Wie gebe ich denn am besten die Funktionen ein?
>
> Wenn ich sage
>
> [mm]\(f[_a,_b_,_c]= ~~[/mm]
> dann müsste ich ja dann fürs ausrechen dann jedesmal die
> entsprechenden Werte in die eckigen Klammern setzen
>
> also dann
>
> g[1,2,3]+h[1,2,3]+i[1,2,3]
>
> oder?
>
> geht das auch einfacher?
>
> Hoffe habe mich halbwegs verständlich ausgedrückt.
>
> lieben Dank und Grüße
Hallo nhard,
eigentlich wäre der passende Ansatz schon der mit der
Funktionsdefinition in der Form f[a_,b_,c_]= ......
Auch die partiellen Ableitungen sind dann Funktionen
dieser 3 Variablen.
Ich denke, dass es nicht wirklich sinnvoll ist, dies
"einfacher" machen zu wollen, wenn du dann ja eben
nachträglich doch die Werte der Funktionsargumente
ändern bzw. variabel lassen willst.
Die Dinge möglichst einfach zu halten, ist ja eigentlich
insbesondere auch in der Mathematik eine gute Tugend -
aber man soll die Dinge nicht einfacher machen wollen
als sie in Wahrheit sind ...
Das eigentliche Problem ist wohl da: Du hast zuerst
[mm] f=a^2*b^2+c^2 [/mm] definiert.
Nachdem du für a, b und c konkrete Werte eingegeben
hast und dann wieder f aufrufst, wird natürlich der Wert
von f zahlenmäßig bestimmt. Eine folgende Ableitung
nach a wird dann als eine Ableitung der Konstanten f
nach der Konstanten a (a=1) interpretiert, was aber
gar nicht geht.
LG Al-Chw.
|
|
|
|