WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Partielle Ableitung nach [dx/dt] - Werteberechnung

 

AndiD.
Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 25.05.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.05.2012, 09:06     Titel: Partielle Ableitung nach [dx/dt] - Werteberechnung
  Antworten mit Zitat      
Hallo zusammen,

ich hänge aktuell am folgendem Problem und stehe irgendwie völlig auf dem Schlauch.

Ich möchte aus einer Reihe von Messwerten zwei Parameter bestimmen, welche ich für einen weiteren Ausgangswert für eine Fehlerkompensation benötige.

Die Formeln lauten:
 a \ += \ \eta_{ab} \ \cdot \ \Delta_i \ \cdot \ \cos (n \ \cdot \ \varphi
<br />
_i) \ \frac{d \varphi
<br />
_i}{dt}
 b \ += \ \eta_{ab} \ \cdot \ \Delta_i \ \cdot \ \sin (n \ \cdot \ \varphi
<br />
_i) \ \frac{d \varphi
<br />
_i}{dt}

dabei ist:
\eta_{ab} = Lernraten für die Adaptionsgeschwindigkeit
\Delta_i = Modellfehler
n = harmonische Ordnung
\varphi_i = Rotor-Phasenlage

Als Code habe ich folgendes aktuell in meiner *.m-file umgesetzt:
Code:

%% Variablendeklaration
eta_ab = 1;
n = 10;
N = 2000;

diff_angle = diff(rotor_phasenlage);

for i = 1:(N)
    a = diff(sym('eta_ab * diff_angle(i) * cos(n * phi_motor(i))') , phi_motor(i));
    b = diff(sym('eta_ab * diff_angle(i) * sin(n * phi_motor(i))') , phi_motor(i));
end
 


Ich bin mir aber schonmal nicht sicher, ob das mit der partiellen Ableitung so stimmt. Den aktuell leite ich ja einfach nur nach der Rotor-Phasenlage ab. Diese hängt aber aufgrund meines Arrays von der Zeit ab.

Jedenfalls gibt mir Matlab aber stets nur die abgeleitete Formel wieder. Ich habe für die angegeben Variablen jeweils ein Array mit ca. 2.000 double-Werten. Die Fehlermeldung bezieht sich darauf, das a und b vom Typ sym und nicht vom Typ double sind.
Wie kann ich das ändern?

Wo ist mein Fehler?

Vielen, vielen Dank für eure Hilfe.

Gruesse,

Andi
Private Nachricht senden Benutzer-Profile anzeigen


MaFam
Forum-Meister

Forum-Meister


Beiträge: 799
Anmeldedatum: 02.05.12
Wohnort: ---
Version: R2009b
     Beitrag Verfasst am: 25.05.2012, 10:03     Titel:
  Antworten mit Zitat      
Hallo,

wenn gilt \varphi=\varphi(t) und du den Ausdruck nach \varphi ableitest, so ist dieser identisch 0. Fall du nach t ableitest, brauchst du indes die explizite Angabe der Funktion. Das führt zu eine Anwendung der Produkt- und Kettenregel in Kombination.

Grüße, Marc
Private Nachricht senden Benutzer-Profile anzeigen
 
AndiD.
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 2
Anmeldedatum: 25.05.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 25.05.2012, 10:35     Titel:
  Antworten mit Zitat      
Hallo Marc,

ich steh grad wirklich auf dem Schlauch.

Wieo ist die Ableitung bei  \varph \ = \ \varphi(t) identisch 0, wenn ich doch entspr. Werte vorgebe.

Und meine Angabe der Funktion ist doch explizit, nur habe ich keine direkte Abhängigkeit von  t mit drin. Wie würde ich die einbinden können?

Tut mir echt leid, das ich mich so blöd anstelle, aber ich hab irgendwie total den Blick darauf verloren.

Ein dickes Danke!
Private Nachricht senden Benutzer-Profile anzeigen
 
MaFam
Forum-Meister

Forum-Meister


Beiträge: 799
Anmeldedatum: 02.05.12
Wohnort: ---
Version: R2009b
     Beitrag Verfasst am: 25.05.2012, 10:55     Titel:
  Antworten mit Zitat      
Worauf ich hinaus will, ist, dass du nach t ableiten wirst müssen.

Beispiel:

Sei \varphi(t)=t^2+1. Und weiterhin sei f(\varphi(t))=cos(n*\varphi(t))=cos(n*(t^2+1)) und daher  \frac{d f}{d\varphi}=0
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.