goMatlab - Mein MATLAB Forum

Mein MATLAB Forum

 
Login  | Registrieren
Bücher:

Verkaufe 2 Matlab Bücher

Fachkräfte:
Softwareentwickler MATLAB/Simulink (w/m)
Erarbeitung von Lösungen im Bereich der Schnittstelle zum Simulink-Modell und der Benutzeroberfläche von TargetLink
dSPACE GmbH - Paderborn

Testingenieur (w/m) Testframework für Simulink-basierte Echtzeitanwendungen
Pflege des MATLAB/Simulink-Testframeworks, Spezifizieren von Testkriterien, Testfällen und Testszenarien
dSPACE GmbH - Paderborn

Testingenieur (w/m) Konfigurationswerkzeuge für Echtzeitsysteme
Einbinden von Simulink®-Simulationsmodellen, Verteilung der Simulationsmodelle auf Multicore- und Multiprozessorsysteme
dSPACE GmbH - Paderborn

Entwicklungsingenieur (m/w) für die Regelung von Powertrain-Systemen
Entwicklung von Regelungsstrategien im Hinblick auf das Gesamtfahrzeug
Continental AG - Regensburg

Systemingenieur/in für Elektronische Selbstschutzmaßnahmen von Luftfahrzeugen
Analyse und Definition von Arbeitsabläufen, Erstellung technischer Spezifikationen
ESG Elektroniksystem- und Logistik-GmbH - Fürstenfeldbruck (Reisebereitschaft)

weitere Angebote

Partner:




Vermarktungspartner


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, 20: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-Guru
Forum-Guru

Beiträge: 367
Anmeldedatum: 10.02.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 10.12.2011, 08: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: 5351
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ---
     Beitrag Verfasst am: 10.12.2011, 13: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, 19: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: 5351
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ---
     Beitrag Verfasst am: 11.12.2011, 19: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, 19: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: 5351
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ---
     Beitrag Verfasst am: 11.12.2011, 20: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



Options and Permissions
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  | Werbung/Mediadaten | Studentenversion | FAQ | goMatlab RSS Button RSS


Copyright © 2007 - 2012 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.