Ableitung einer Funktion < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) reagiert/warte auf Reaktion | Datum: | 22:24 Mo 01.12.2008 | Autor: | Franzie |
Hallo ihr Lieben!
Ich versuche jetzt schon seit einigen Stunden eine Funktion in Matlab abzuleiten und den Wert an einer bestimmten Stelle berechnen zu lassen. Hab dazu auch die entsprechenden Befehle im Netz gesucht, aber irgendwie funktioniert das nicht. Ich finde meinen Fehler nicht.
syms x;
[mm] diff(exp(-155*((x-11/27)^2)));
[/mm]
Aber wieso funktioniert das denn nicht? Ich krieg immer folgende Fehlermeldung: ??? syms x;
|
Error: Missing operator, comma, or semicolon.
Und wie kann ich die Ableitung an einer bestimmten Stelle ausrechnen lassen?
Danke schon mal
|
|
|
|
Hallo Frnaziska,
bei mir (MatLab 7) funktioniert:
syms x;
f=exp(-155*(x-11/27)^2);
diff(f)
LG
schachuzipus
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 21:20 Di 02.12.2008 | Autor: | Franzie |
Ich weiß nicht, ich bekomme immer die gleiche Fehlermeldung:
Missing operator, comma, or semicolon.
Obwohl ich es genauso eingegeben habe, wie gesagt....................
Hat denn keiner eine Idee?
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 16:44 Mi 03.12.2008 | Autor: | Denny22 |
Hallo, im Internet hatte jemand ein ähnliches Problem. Derjenige hatte die Eingabedaten
[mm] $syms\;x;$
[/mm]
[mm] $syms\;y;$
[/mm]
$f1 = [mm] x^2 [/mm] + [mm] y^2;$
[/mm]
$diff(f1,x) $ (--> ergibt 2x)
Und nun wollte er auch eine Auswertung vornehmen. Nachdem ihm keiner antwortete, schrieb er: "aber mittlerweile hab ich entdeckt, dass ich mit
$inline(diff(f1,x))$
eine neue brauchbare funktion definiere, die ich evaluieren kann!" Also, vielleicht hilft Dir das weiter. Ansonsten siehe in google mal nach "Matlab differenzieren" oder "Matlab symbolisch differenzieren".
Überings: Deine Fehlermeldung kommt vermutlich daher, dass Du nicht angegeben hast, nach welche Variable differenziert werden soll. Schreibe $diff(f,x)$ anstelle von $diff(f)$, dann sollte es klappen.
Gruß
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 16:45 Mi 03.12.2008 | Autor: | Denny22 |
> syms x;
> [mm]diff(exp(-155*((x-11/27)^2)));[/mm]
>
> Aber wieso funktioniert das denn nicht? Ich krieg immer
> folgende Fehlermeldung: ??? syms x;
> |
> Error: Missing operator, comma, or semicolon.
Versuch mal:
[mm]diff(exp(-155*((x-11/27)^2)),x);[/mm]
Gruß
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 22:02 Mi 03.12.2008 | Autor: | Franzie |
Danke für die Tipps. Hab es damit versucht, aber ich kriege immer noch die gleiche Fehlermeldung. Ich versteh das nicht....hab mir schon so viele Beispiele im Netz angeschaut und das genauso gemacht und es klappt aber trotzdem nicht.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 14:24 Do 04.12.2008 | Autor: | Denny22 |
Funktioniert das mit der inline-Funktion auch nicht? Wenn nicht, dann weiß ich gerade auch nicht weiter.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 18:15 Do 04.12.2008 | Autor: | Franzie |
Nein, mit der inline Funktion geht es auch nicht. Bis dahin kommt das Programm ja gar nicht. Der Fehler bezieht sich immer auf die Zeile, in der syms x steht. da meckert er immer : Missing operator, comma, or semicolon.
|
|
|
|
|
Hallo Franzie,
> Danke für die Tipps. Hab es damit versucht, aber ich kriege
> immer noch die gleiche Fehlermeldung. Ich versteh das
> nicht....hab mir schon so viele Beispiele im Netz
> angeschaut und das genauso gemacht und es klappt aber
> trotzdem nicht.
Vielleicht läßt Du einfach mal den ";" weg, so daß dann da steht:
[mm] syms \ x;[/mm]
[mm]diff(exp(-155\cdot{}((x-11/27)^2)))[/mm]
Für mehr Informationen: Matlab - Eine Einführung
Gruß
MathePower
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 21:38 Sa 06.12.2008 | Autor: | Franzie |
Hab ich leider alles schon vergebens versucht......nichts und wieder nichts.....der Fehler steht dort nach wie vor und ich weiß nicht, wo hier ein Fehler sein soll. Hab es jetzt schon mit ganz einfachen Funktionen probiert und nicht mal da klappt es :-(
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 23:10 Sa 06.12.2008 | Autor: | leduart |
Hallo
Manchmal hilft einfach aussteigen und wieder einsteigen. Warum? keine Ahnung. Und fang mit dem Schreiben neu an, nicht kopieren.
Also Programm schliessen und neu aufmachen. neue m file und dann klappts hoffentlich.
Bis dann lula
|
|
|
|
|
Hi,
hier mal einige Anmerkungen:
Ist die Symbolic Math Toolbox überhaupt installiert?
Versuch mal sym statt syms.
Übergib' die Funktion als String.
1: | clear all;
| 2: | clc;
| 3: | ver % Ist die Symbolic Math Toolbox ueberhaupt installiert? Ohne die geht es so nicht.
| 4: | which syms % Guck, ob Befehl syms gefunden wird
| 5: | x=sym('x') % Alternative zu syms
| 6: | diff(exp(-155*((x-11/27)^2)))
| 7: | diff('exp(-155*((y-11/27)^2))','y') % Funktion als String uebergeben |
Was davon geht, was nicht? Poste mal die Ausgaben.
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 18:57 So 07.12.2008 | Autor: | Franzie |
Also es steht da, dass syms nicht gefunden wurde und dann meckert das Programm wieder bei sym.
Heißt das jetzt, das liegt daran, dass es nicht richtig installiert ist oder wie?
|
|
|
|
|
Ja, daran wird es liegen.
Der Befehl ver hat Dir ja eine Liste mit den installierten Toolboxen ausgegeben, ist die Symbolic Math Toolbox dabei gewesen? Ich vermute mal nein, dann musst Du gucken, ob Du die nachinstallieren (lassen) kannst.
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 21:09 So 07.12.2008 | Autor: | Franzie |
Okay, das kann sein. Danke dir für den Hinweis. Auf so ne Idee wäre ich nie gekommen. Dann liegt es wenigstens nicht an mir.
Ansonsten müsste es aber sicherlich funktionieren, wenn ich das Programm auf einem anderen Rechner laufen lasse, der diese Funktion hat, oder?
Dann probier ich das an der Uni mal aus.
|
|
|
|
|
Ja, Du hast keinen Fehler gemacht. Jeder der Befehle sollte bei sauber installierter Symbolic Math Toolbox funktionieren.
|
|
|
|