Verfasst am: 25.04.2012, 14:26
Titel: Re: Suchen eines Punktes in einem bestimmten Intervall
Hallo lab_manager,
Wenn Dein Programm nicht genau das macht, was Du möchtest, wäre es hilfreich, wenn Du erklärst, was Du möchtest. Andernfalls kann man kaum einen Verbesserungsvorschlag machen.
Sind t und a in Deinem Code Spalten-Vektoren? Solche Details sind ebenfalls wichtig, um zu verstehen, was das Programm leistet. Du definierst zwar "interval", benutzt es später aber nicht. "t_10" dagegen wird im gezeigten Code nicht definiert.
v = load('D:\MATLAB\Beispiele\Funktionen\Messkurve einer Entladung\C1MP1000000.dat');
t = v(:,1); %Auslesen der Zeitachse (X-Achse)
a = v(:,2); %Auslesen der Amplitude (Y-Achse)
ai = a/0.1;
vi = [t ai];
Imax = max(ai); % Imax oder Ip [I zeile] = min(abs(vi(:,2)- Imax)); % Die Zeile ermitteln
% Aufzeichnen der Zeit aus der Zeile, dies ist zugleich unser Intervall % Endwert. Der Intervall wird auf der Zeitachse festgelegt. Innerhalb % dieses Intervals muss die Suche erfolgen.
tmax = vi(zeile,1)
I_10 = 0.1 * Imax
I_90 = 0.9 * Imax
h = plot(t,ai);
holdall; % Mit diesem Befehl wird der erste plot festgehalten axis([-0.5e-71.5e-707]);
%Suchen der Messwerte in einer Messreihe
das ist mein kompletter Code, ich versuche die Punkte I_10 und I_90 zu finden, aber in einem bestimmten Intervall.
Es handelt sich bei v um einen Vektor. t und a sind spalten Vektoren!
v = load('D:\MATLAB\Beispiele\Funktionen\Messkurve einer Entladung\C1MP1000000.dat');
t = v(:,1); %Auslesen der Zeitachse (X-Achse)
a = v(:,2); %Auslesen der Amplitude (Y-Achse)
ai = a/0.1;
vi = [t ai];
h = plot(t,ai);
holdall; % Mit diesem Befehl wird der erste plot festgehalten axis([-0.5e-71.5e-707]);
% Suche der oberen Intervall Grenze
Imax = max(ai); % Imax oder Ip [y zeile] = min(abs(ai - Imax)); % Die Zeile ermitteln
tmax = vi(zeile,1);
oL = [tmax, Imax];
I_10 = 0.1 * Imax;
I_90 = 0.9 * Imax;
Durch die verkleinerung des Vektors vi habe ich die Möglichkeit die suche auf diesen kleinen Wertebereich zu beschränken
Einstellungen und Berechtigungen
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
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.