DGL Verzögerungselement < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 21:56 Mo 24.12.2007 | Autor: | fenster3 |
Hallo ich will folgende DGL mit Matlab ploten
[mm] R*C*\bruch{d x_{a}(t)}{dt}+x_{t}=x_{e}(t)
[/mm]
Ich weiß aber nicht genau was ich als Anfangswerte angeben soll und wie die DGL im Funktions M- file aus zu sehen hat damit Matlab das verarbeiten kann.
Ich hab mal an den entsprechenden stellen eine Fragezeichen gemacht.
Kann mir da einer weiter Helfen?
Hier mein M-file
x0=?
[t,x] = ode45('dgl_f1', [0 10], x0);
plot(t, x);
und das Funktions M-file
function dgl = dgl_f1(t, x)
dgl = [......?......];
|
|
|
|
Hi,
ich nehme mal an, dass Du die DGL lösen willst.
Guck doch mal in die Hilfe zu ode45,
das sind einige Beispiele zu finden.
Allerdings wirst Du Dein [mm] x_e(t) [/mm] vorgeben müssen.
Viele Grüße
nschlange
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 17:29 Do 27.12.2007 | Autor: | fenster3 |
Hm so hab mal in der Hilfe nachgesehen hat mich aber nicht wirklich weiter gebracht.
|
|
|
|
|
Hi,
da hätte man das aber finden können
Ich poste mal den Code zweier Dateien.
Dein [mm] u_e(t) [/mm] hab ich hier als sinus-förmig angenommen.
loese_pt1.m:
1: | clear all;
| 2: | clc;
| 3: |
| 4: | global R;
| 5: | global C;
| 6: | R=1;
| 7: | C=1;
| 8: | t_u=linspace(0,5,100);
| 9: | u=sin(2*pi*t_u);
| 10: | [t,v] = ode45(@(t,v) pt1(t,v,t_u,u),[0 5],[1]);
| 11: | plot(t,v);
|
und pt1.m:
1: | function vp = pt1(t,v,t_u,u)
| 2: | global R;
| 3: | global C;
| 4: | u=interp1(t_u,u,t);
| 5: | vp=u-v/(R*C);
|
Ich hoffe, dass das auch so stimmt!?
Viele Grüße
nschlange
Edit:
Ach ja, die Anfangsbedingung v(0)=1 hab ich mir ausgedacht.
Was da sinnvoll ist hängt vom System ab.
|
|
|
|