|
dero1690 |
Forum-Anfänger
|
|
Beiträge: 47
|
|
|
|
Anmeldedatum: 03.02.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 05.02.2013, 12:00
Titel: partielle Ableitung
|
|
Hallo zusammen !
Ich habe ein Problem beim Ableiten nach symbolischen Variablen.dabei ist eine symbolische Variable zeitabhängig.
Ich glaube, anhand des Codes wird das Problem deutlich:
>> syms t a1(t);
>> L=cos(a1);
>> diff(L,'a1')
ans(t) =
0
Wenn ich jetzt nicht vollkommen ein Brett vorm Kopf habe, dann müsste doch " -sin(a1) " nach dem Differenzieren rauskommen.
Vielen vielen Dank !
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 05.02.2013, 14:28
Titel:
|
|
Hallo,
wenn a1 eine Funktion von t ist, dann ist es doch nicht wirklich sinnvoll, nach a1 abzuleiten? Und nach t ableiten klappt und liefert sinnvolle Ergebnisse:
Grüße,
Harald
|
|
|
dero1690 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 47
|
|
|
|
Anmeldedatum: 03.02.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 05.02.2013, 14:36
Titel:
|
|
Hallo !
Danke für die Antwort
Ich weiß, es klingt nicht sinnvoll, aber bei dem problem, was ich bearbeite ist es notwendig nach a1,also partiell nach einer zweitabhängigen Variable abzuleiten.
Ist es denn bekannt, ob es mit matlab geht ?
ich könnte auch die Frage in die Richtung umformulieren:
Falls eine Funktion eine symbolische Funktion erhält, ist es möglich, nach dieser symbolischen Funktion abzuleiten ?
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 05.02.2013, 14:51
Titel:
|
|
Hallo,
dann definiere für den Zweck eben
Grüße,
Harald
|
|
|
dero1690 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 47
|
|
|
|
Anmeldedatum: 03.02.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 05.02.2013, 14:55
Titel:
|
|
Das habe ich ja versucht ( siehe 1. Kommentar ), aber leider leitet matlab immer noch falsch ab....
|
|
|
MaFam |
Forum-Meister
|
|
Beiträge: 799
|
|
|
|
Anmeldedatum: 02.05.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2009b
|
|
|
|
|
|
Verfasst am: 05.02.2013, 14:56
Titel:
|
|
Hallo,
wenn a1 von t abhängt und L von a1, dann hängt L auch nur von t ab. Somit ist L' nach a1 0. Was anderes kann da nicht rauskommen. L(a1(t)) ist eine Verkettung von zwei Funktionen nach t. Hierbei gilt die Kettenregel. Von partieller Ableitung zu sprechen, ist nur sinnvoll, wenn die Anzahl der Argumente von f > 1 ist.
Grüße, Marc
|
|
|
MaFam |
Forum-Meister
|
|
Beiträge: 799
|
|
|
|
Anmeldedatum: 02.05.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2009b
|
|
|
|
|
|
Verfasst am: 05.02.2013, 15:05
Titel:
|
|
Oder geht das hier eher in Richtung Totales Differential?
|
|
|
dero1690 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 47
|
|
|
|
Anmeldedatum: 03.02.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 05.02.2013, 15:10
Titel:
|
|
Vielleicht ist "partielle Ableitung " der falsche Begriff, den ich da benutzt habe...
Aber was ich bisher in der Uni gelernt habe über die Jahre:
L=cos(a1(t))
dL/d(a1(t))=-sin(a1(t))
wenn doch nach a1 abgeleitet wird, dann kann man doch a1 als eine Konstante ansehen ( auch wenn diese zeitabhängig ist ), dabei spielt die Zeit doch keine Rolle....
Grüße,
Denys
p.s. nee, richtung totales differential geht es nicht, da ja bei meinem Problem die Zeit keine Rolle spielt...
Zuletzt bearbeitet von dero1690 am 05.02.2013, 15:17, insgesamt einmal bearbeitet
|
|
|
MaFam |
Forum-Meister
|
|
Beiträge: 799
|
|
|
|
Anmeldedatum: 02.05.12
|
|
|
|
Wohnort: ---
|
|
|
|
Version: R2009b
|
|
|
|
|
|
Verfasst am: 05.02.2013, 15:15
Titel:
|
|
Das kann man als gar nichts ansehen. Das ist nicht definiert. Algebraisch betrachtet ist a1 gebunden.
Matlab gibt "zur Güte" 0 aus, da L nach a1 als konstant betrachtet wird. Schau' dir dein Problem nochmal an. Das darf solche Fragestellungen nicht abwerfen. Da stimmt ansonsten was nicht.
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 05.02.2013, 15:18
Titel:
|
|
Hallo,
du musst die ' ' weglassen. Nach einem String abzuleiten ist schwierig ;)
Hier bekommst du doch dein gewünschtes Resultat. Ob das ganze nun sinnvoll ist, ist eine andere Frage, aus der ich mich heraushalten werde.
Grüße,
Harald
|
|
|
dero1690 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 47
|
|
|
|
Anmeldedatum: 03.02.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 05.02.2013, 15:43
Titel:
|
|
Erstmal vielen Dank für eure antworten !
Bei Haralds Lösung fällt leider unterm Tisch, dass a1 zeitabhängig ist ( a1=a1(t) ).
Das Problem, was ich behandele, ist der Lagrange-Formalismus, um Bewegungsgleichungen für mechanische Systeme zu erhalten......dabei werden partielle ableitungen nach Freiheitsgraden ( in dem Falle a1 , was z.B. einen winkel darstellen soll ) und auch nach der Zeit benötigt.
Und die Freiheitsgrade sind zeitabhängig ( was man sich z.B. bein einem Pendel vorstellen kann, wo die Auslenkung ja zeitabhängig ist )
Grüße
Denys
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 05.02.2013, 15:49
Titel:
|
|
Hallo,
Zitat: |
Bei Haralds Lösung fällt leider unterm Tisch, dass a1 zeitabhängig ist ( a1=a1(t) ). |
Mit dem, was du als "partielle Ableitung" bezeichnest, ignorierst du die Zeitabhängigkeit ja gerade. Zudem erhältst du das von dir gewünschte Ergebnis.
Grüße,
Harald
|
|
|
dero1690 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 47
|
|
|
|
Anmeldedatum: 03.02.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 05.02.2013, 15:58
Titel:
|
|
Sorry, ich wollte euch nicht verwirren, aber ich will am Ende folgendes erhalten:
L ist eine Funktion von a1, wobei gilt a1=a1(t)
Ich erhalte am Ende die bewegungsgleichung des Systems durch das folgende Prozedere:
0=d(dL/da1(t)')/dt-dL/da1(t)
Somit ist im ersten Teil des Terms die zeitabhängigkeit wichtig ( da eine zeitableitung vorliegt).
Im zweiten Teil ist nur noch die partielle Ableitung nach a1 wichtig.
Die Funktion L ist natürlich nur eine vereinfachung, in der Realität ist sie kompliziert und erhält neben a1(t) auch a1(t)' (1.Ableitung von a1 )
p.s.
das bittere ist, dass ich ja schon die Lösung für mein problme vor 2 Tagen hatte, nur nachdem ich den Code nochmal verbessern wollte und ihn etwas verändert habe, funktioniert es nicht mehr.
Den alten Code habe ihc nciht mehr.deswegen arbeite ich so verbissen an der Sache...
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 05.02.2013, 16:26
Titel:
|
|
Hallo,
mit anderen Worten, du benötigst -sin(a1(t)) als Ergebnis und nicht wie ursprünglich geschrieben -sin(a1) .
Vorsicht: ' ist in MATLAB der Operator zum (konjugierten) Transponieren, nicht zum Differenzieren. Das erklärt auch, wieso du kürzlich bei deinem [leider nicht geposteten] Code als Ausgabe etwas mit conj hattest.
Grüße,
Harald
|
|
|
dero1690 |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 47
|
|
|
|
Anmeldedatum: 03.02.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 05.02.2013, 16:35
Titel:
|
|
ja, genau , ich benötige -sin(a1(t)) als Ergebnis.
Hier habe ich mich etwas undeutlich ausgedrückt...
Den apostroph habe ich in matlab nicht verwendet, stimmt , das sollte ich auch hier wegen der Verwirrung nicht machen
|
|
|
|
Gehe zu Seite 1, 2 Weiter
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|