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

Phase und Amplitude bestimmen aus DGL-System

 

Remad
Forum-Newbie

Forum-Newbie


Beiträge: 3
Anmeldedatum: 16.11.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 16.11.2013, 15:11     Titel: Phase und Amplitude bestimmen aus DGL-System
  Antworten mit Zitat      
Sehr geehrte Leser,

ich danke für jede Hilfe im voraus.

Eine Differentialgleichung zweiter Ordnung gilt es zu lösen. Die erste Ableitung ist der Strom. Die Phase zwischen Spannung und Strom soll ermittelt werden. Sobald die Phase und Amplitude ermittelt ist, werden nun mehrere Frequenzen durchgeschickt.

Angeblich kann mit dem Auffinden vom Max und Min relativ am Ende die Phase berechnet werden. Delta_T * 2*Pi

Die Differentialgleichung zweiter Ordnung ist mit ode45 gelöst.

Problem ist das Maximum und Minimum zu erhalten. Dazwischen gilt es das deltaT zu ermitteln. Welche Befehle lassen sich noch einsetzen? Schon viel probiert.

Code:

function [f, amplitude, winkelvektor] = wrapper2(w)
%UNTITLED Summary of this function goes here
%   Detailed explanation goes here
%   Wrapper function for ode45

%for j = 1:length(w)
   
ta = 0; te = 20; y0=[5 0]; %constants
[t,y] = ode45(@fu2,[ta te],y0);  %DGL result

figure;
plot(t,y(:,2),'b')       %1,derivation
xlabel('t');      %Achsenbeschriftungen
ylabel('I(t)');

%% Aufgabe c

%Maximum finden
xint = 18:1e-3:20;
sol = ode45(@fu2,[ta te],y0);
sxint = deval(xint,sol);
maximum = max(sxint);
maximum

%Phase berechnen
%winkel = atand( ( abs(amplitude_max) + abs(amplitude_minimum) ) / (t(vektorelemente(1) - tminimum) - t(vektorelemente(1) - tmaximum)) );
%Ausgabe fprintf('Die Phase: %g\n', winkel)

function dp = fu2(x,y)
%UNTITLED Summary of this function goes here
%   Detailed explanation goes here
% DGL solver ode45
RinvL = 1;

invLC = 10;
dp=zeros(2,1) ; % dp wird als Spaltenvektor generiert
dp(1)=y(2);
dp(2)= 10*sin(w*x)-RinvL*y(2)-invLC*y(1);
return
end
end
 


Vielen Vielen Dank für jede Hilfe
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 17.11.2013, 16:44     Titel: Re: Phase und Amplitude bestimmen aus DGL-System
  Antworten mit Zitat      
Hallo Remad,

Zitat:
Angeblich kann mit dem Auffinden vom Max und Min relativ am Ende die Phase berechnet werden. Delta_T * 2*Pi

Das ist nicht klar. Was bedeutet das "angeblich" hier und was ist "Max und Min relativ am Ende?

Wie ist genau definiert, wonach Du suchst?

Gruß, Jan
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 - 2025 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.