Das ganze wurde mit C programmiert und dann für Matlab per Compiler nutzbar gemacht. Meine Fähigkeiten mit C lassen zu wünschen übrig, deswegen wollte ich einfach mal den Versuch starten, ob sich hier jemand mit C & Matlab vielleicht auskennt.
Der Code in C lautet:
Code:
/* RAINFLOW $ Revision: 1.1 $ */
/* by Adam Nieslony, 2009 */
#include <math.h>
#include "mex.h"
/* ++++++++++ BEGIN RF3 [ampl ampl_mean nr_of_cycle] */
/* ++++++++++ Rain flow without time analysis */
void
rf3(mxArray *array_ext, mxArray *hs[]){ double *pr, *po, a[16384], ampl, mean;
int tot_num, index, j, cNr;
mxArray *array_out;
Jetzt zu meiner Frage. Kann mir das jemand "übersetzen" oder zumindest erklären, wie gezählt wird. Es werden bei der Zählung geschlossene Hysteresen eines Signals (welches nur noch aus lokalen Maxima und Minima besteht) gezählt und offene Hysteresen werden als Residuum mit 0.5 abgelegt. Je nachdem, ob man eine geschlossene Hysterese hat oder nicht werden Punkte des Signals gelöscht. Anschließend wird von dem letzten 'nichtgelöschten Punkt' die Zähung fortgesetzt. Der Vorgang des löschens würde mich interessieren, wie das programmiertechnisch umgesetzt werden kann/wird.
Danke & Grüße
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.