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

implizite dgl

 

mariesopherl88
Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 04.12.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.12.2011, 19:19     Titel: implizite dgl
  Antworten mit Zitat      
Hallo,
ich würde gerne eine implizite dgl in matlab lösen, die wie folgt aussieht:
dvx=f(v,alpha,t)
dvy=f(v,alpha,t)
dalpha=konstante


bisher habe ich folgendes:(v=vel=velocity)
Code:

function  dvel = velocityversustime(parameter)

dvel(1)=a*cosd(alpha)*b*(vel^2)*(t/tf)

dvel(2)=d-sind(alpha)*b*(vel^2)*(t/tf)

dvel(3)=??


 

weiter bin ich nicht gekommen, weil ich ja die lösung von dvel(3) schon in die gleichungen dvel(1) und dvel(2) einsetzen müsste...

aufrufen würde ich sie dann so:
Code:

             vel0=[0,vel,0]
            [t,y]=ode45(@(t, vel) velocityversustime(t,vel,n,beta,m,rod,Dp,tf),timerange,vel0)
 


könnt ihr mir einen tipp geben, wie man diese lösen kann?
danke schonmal im vorraus!
Gruß,
Marie
Private Nachricht senden Benutzer-Profile anzeigen


Thomas84
Forum-Meister

Forum-Meister


Beiträge: 546
Anmeldedatum: 10.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.12.2011, 07:31     Titel:
  Antworten mit Zitat      
Guten Morgen,

warum bist du der Meinung das diese DGL implizit ist? Falls ich deine Notation richtig verstanden habe ist sie explizit.

In der Funktion velocityversustime übergibst du übrigens die Argumente nicht richtig.

Viele Grüße
Thomas
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 10.12.2011, 12:55     Titel:
  Antworten mit Zitat      
Hallo,

es geht schon bei der Formulierung der DGL los:
Heißt "dvx" die Geschwindigkeit in x-Richtung, nach t abgeleitet? Oder die Geschwindigkeit nach x abgeleitet?
Falls ersteres, sollte auch die DGL in Abh. von vx und vy formuliert werden; falls letzteres ist es eine partielle DGL. Eine implizite ist es jedenfalls nicht.

Ansonsten: u = (vx, vy, alpha). Gleichungen sorgfältig aufstellen, dann sollte es klappen.

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 04.12.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.12.2011, 18:05     Titel:
  Antworten mit Zitat      
Hallo ihr beiden,
vielen Dank für die schnelle Antwort! Es werden beide dgls nach t abgeleitet, nur zeigt der eine vektor in die x richtung und der andere in die y richtung.
Ich habe es oben falsch geschrieben:


dalpha=cos(alpha)/v

dann ist sie schon implizit oder?
ich habe es schon mit ode15i versucht. Wie sieht dann aber mein startwert aus? ein dreidimensionaler vektor?

Vielleicht könnt ihr mir weiterhelfen, dafür wäre ich euch wirklich sehr dankbar!!
Lieben Gruß,
Marie
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 11.12.2011, 18:26     Titel:
  Antworten mit Zitat      
Hallo,

nein, nix mit implizit. Implizit wird die DGL erst, wenn sie nicht nach den Ableitungen aufgelöst werden kann.

Ja, du brauchst einen Vektor dreier Startwerte, aber das sollte mit ode45 gehen.

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

Forum-Anfänger

Forum-Anfänger


Beiträge: 12
Anmeldedatum: 04.12.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.12.2011, 18:48     Titel:
  Antworten mit Zitat      
hallo,
danke für die antwort. Smile Leider habe ich immernoch nicht ganz verstanden, wie ich die funktion dann richtig aufrufe, bwz richtig in der nebenfunktion definiere. ich würde ja nur gerne den v-t-verlauf rausbekommen. um das problem zu vereinfachen habe ich für vx und vy zwei funktionen gemacht...

Meine Nebenfunktion sieht so aus:
Code:

function  dv2 = velocityversustime2(parameter)

dv2=gacceleration-sind(alpha)*(0.5*roh/m*CdSo)*(vel^2)*((t/tf)^beta)
dalpha=-gacceleration*cosd(alpha)/v

 


aufrufen würde ich sie so:
Code:

timerange=[0 10];

v0=[vel,0];

 [t,y2]=ode45(@(t, v2,alpha) velocityversustime(parameter),timerange,v0)
 

das funktioniert aber leider nicht.Könnt ihr mir sagen, wie ich die alpha werte gleich in die dgl dv2 einsetzen kann, um nur die v2 werte zu bekommen?
Vielen Dank!
Marie
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 11.12.2011, 19:38     Titel:
  Antworten mit Zitat      
Hallo,

schau dir doch in der Hilfe mal diese Seite an:
http://www.mathworks.de/help/techdoc/math/bsgprpq-5.html

Die Verwendung des Function Handles muss mit der Funktionsdeklaration zusammenpassen.

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
.





 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.