Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   
Bücher:

Fachkräfte:
Software Entwicklungsingenieur (m/w) TargetLink
Modellbasierte Softwareentwicklung mit MATLAB/Simulink und dSPACE TargetLink
Continental AG - Nürnberg

Softwareentwickler (m/w) automatische Codegenerierung
Umsetzung, Neuprogrammierung und Weiterentwicklung in Simulink, TargetLink und C
EFS - Ingolstadt, Wolfsburg

Funktionsentwickler (w/m) Automobile
Entwicklung von modellbasierten Softwarelösungen in Simulink inklusive Autocode-Generierung
Bertrandt Ingenieurbüro GmbH - Frankfurt am Main

Elektromobilität: E-Drive Entwicklungsingenieur HV-Energiemanagement und Betriebsstrategie (m/w)
Entwicklung von Teilfunktionen für Energiebordnetze
MBtech Group GmbH & Co. KGaA - Sindelfingen

Modellierer für Zentralverriegelung (w/m)
Umsetzung neuer Funktionen im Elektromobilitätsumfeld
Carmeq GmbH - Berlin

weitere Angebote

Partner:


Vermarktungspartner


Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

System von Differenzialgleichungen 2. Ordnung lösen

 

Lulu5000
Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 23.02.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.03.2017, 14:10     Titel: System von Differenzialgleichungen 2. Ordnung lösen
  Antworten mit Zitat      
Hallo,

ich möchte ein System von Differenzialgleichungen 2. Ordnung lösen aber ich bekomme das mit dem ODE befehl nicht hin. Eine DGL 2. Ordnung bekomme ich hin aber ich habe nun 2 DGL 2. Ordnung und das verstehe ich gar nicht.

Ich habe als Beispiel:
Code:

function TEST_ODE2

[t,x] = ode45(@funktion,[0 5],[0 1]);
plot(t,x)

    function dp = funktion(x,y);
    dp = zeros(2,1);
    dp(1) = y(2);
    dp(2) =-4*y(2)-20*y(1);
    end
end
 


Nur bekomme ich diese DGL nicht darin eingebaut:
Code:

(d^2x/dt^2) = sqrt((dx/dt)^2+(dy/dt)^2)*(-kw*(dx/dt)+ka*(dy/dt));
(d^2y/dt^2) = sqrt((dx/dt)^2+(dy/dt)^2)*(kw*(dy/dt)+ka*(dx/dt))-g;
 


Meine Randbedingungen sind:
Code:

dx/dt (x = 0) = 25 *cosd(11)
dy/dt (x = 0) = 25 *sind(11)
x (x = 0) = 0
y (x = 0) = 63,2
 


Kann mir damit vielleicht jemand helfen?
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 17.966
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2014a
     Beitrag Verfasst am: 02.03.2017, 18:10     Titel:
  Antworten mit Zitat      
Hallo,

du wandelst beide DGLen jeweils in ein System von 2 DGLen um.
So bekommst du insgesamt 4 DGLen.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
Lulu5000
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 23.02.17
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.03.2017, 21:07     Titel:
  Antworten mit Zitat      
Ahh, vielen Dank nochmal Harald Smile
Ich bin einen Schritt weiter aber ich habe glaube ich einen Fehler...

Code:

function TEST_ODE2
global kw ka v0 h0 alpha g x
kw = 0.0005;
ka = 0.001;
v0 = 25;
h0 = 60 + 3.2;
alpha = -(11/180)*pi;
g = 9.81;


[x,u] = ode45(@funktion2,[0 2],[h0 v0*sin(alpha) 0 v0*cos(alpha)]);
plot(x,u(:,1))

  function dt = funktion2(t,y);
    dt = zeros(4,1);
    % y(1)=y(1),y(2)=y(2),y(3)=x(1),y(4)=x(2)
    dt(1) = y(2);
    dt(2) = sqrt(y(4).^2+y(2).^2)*(-kw*y(4)+ka*y(2));
    dt(3) = y(4);
    dt(4) = sqrt(y(4).^2+y(2).^2)*(kw*y(2)+ka*y(4))-g;
  end
end
 


Der Vektor in meiner funktion ist aufgebaut mit:
dt(1) = y'
dt(2) = y''
dt(3) = x'
dt(4) = x''

y' und x' also die Anfangsgeschwindigkeiten sind meine Randbedingungen

Sieht jemand den Fehler? muss ich das anders aufbauen? Mein Ergebnis ist Quatsch... Crying or Very sad
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 17.966
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2014a
     Beitrag Verfasst am: 03.03.2017, 10:24     Titel:
  Antworten mit Zitat      
Hallo,

für mich sieht es so aus, als ob du die Gleichungen für x'' und y'' durcheinandergebracht hättest. Laut Kommentar dt(4) = x'', aber die 4. Gleichung ist für y''.

Grüße,
Harald
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
.


goMatlab ist ein Teil des goForen-Labels
goForen.de goMATLAB.de goLaTeX.de goPCB.de


 Impressum  | Nutzungsbedingungen  | Datenschutz  | Werbung/Mediadaten | Studentenversion | FAQ | goMatlab RSS Button RSS


Copyright © 2007 - 2018 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
Partner: LabVIEWforum.de

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.