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

hoffentlich leichte Frage zu ode23

 

Sebastian9900
Forum-Newbie

Forum-Newbie


Beiträge: 1
Anmeldedatum: 02.11.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.11.2008, 22:47     Titel: hoffentlich leichte Frage zu ode23
  Antworten mit Zitat      
Hallo ihr alle,

Es wird hoffentlich eine sehr einfach zu beantwortende Frage sein. Ich versuche in Matlab einfache gekoppelte Differentialgleichungen zu lösen. X soll in diesem Fall der Vektor (x,y) sein. Ich habe zwei gekoppelte Differentialgleichungen die ich in einem m-File gespeichert habe. Zusätzlich habe ich ein m-File, das die DGL lösen soll. Diese sind im Folgenden dargestellt:


Code:

function out = Function( t, X )
%FUNCTION Summary of this function goes here

X = [x;y];
dxdt = y*t;
dydt = x;

out = [dxdt;dydt];


% differential equation
%% Constants

%none;

%% initial conditions
x10 = 20;
x20 = 10;
x0 = [x10,x20];

%% timespan

tfin = 20;

%%

[t,X] = ode23(@Function,[0 tfin],x0)
 


Leider Funktioniert das nicht. Ich weiß aber auch nicht woran das liegt, denke aber es liegt an meiner Definition von der Funktion. Ich währe froh, wenn mir jemand eine Hilfe gibt. Bin an diesem Thema gerade etwas am Verzweifeln.

Vielen Dank schon einmal,
Sebastian.
Private Nachricht senden Benutzer-Profile anzeigen


dib0r
Forum-Guru

Forum-Guru


Beiträge: 413
Anmeldedatum: 09.05.08
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.11.2008, 15:51     Titel:
  Antworten mit Zitat      
Hallo,

ohne je was mit Differentialgleichungen gemacht zu haben, will ich dir mal grundsätzlich antworten. Die Funktion "Function" sollte in einer externen m-Datei stehen - oder aber du verwendest zwei Funktionen - eine als "main", und eine als wirkliche Funktion, z.B.

Code:
function [T X] = main
x10 = 20;
x20 = 10;
x0 =[x10 x20];
tfin = 20;

[T X] = ode23(@meineFunktion,[0 tfin],x0);
return

function out = meineFunktion (t, x)
out = x.^2 + t;
return


Ist allerdings ungetestet und hat eine andere Funktoin als du sie willst. Aber das Prinzip sollte klar sein.

MfG
Private Nachricht senden Benutzer-Profile anzeigen
Verschoben: 04.11.2008, 19:29 Uhr von Bijick
Von Sonstige MATLAB Fragen nach Programmierung
 
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.