View License

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from
Rainflow Counting Algorithm

4.0 | 75 ratings Rate this file 192 Downloads (last 30 days) File Size: 39 KB File ID: #3026 Version: 1.2
image thumbnail

Rainflow Counting Algorithm


Adam Nieslony (view profile)


17 Feb 2003 (Updated )

Very fast rainflow cycle counting for MATLAB

| Watch this File

File Information

The rainflow algorithm code has been prepared according to the ASTM standard (Standard practices for cycle counting in fatigue analysis) and optimized considering the calculation time.

MATLAB release MATLAB 7.1.0 (R14SP3)
Other requirements The package includes MEX files for Win32 and Win64. For other OS the source code should be compiled.
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (145)
09 Feb 2017 Adam Nieslony

Adam Nieslony (view profile)

Dear Olga Ibragimova, look at the comment from 13 Mar 2013 Jeppe Otten for the 'macbook' solution. I am MS Windows user :-(

Comment only
07 Feb 2017 Olga Ibragimova

Doesn't work at my macbook :(

when putting rfdemo1 it says:

Attempt to execute SCRIPT rainflow as a function:

Error in rfdemo1 (line 35)

There's something it doesn't like, but I can't really understand.

Comment only
04 Feb 2017 Saullo Castro

Amazing and it was easy to port it to Python using Cython

05 Jan 2017 Lee Zoro

Hello,I used the following code:
sig=[0.2 0.4 0.3 0.4];
and the result(rf) is:
0.05 0.10 (cycles amplitude)
0.35 0.30 (cycles mean value)
1 0.50 (number of cycles)
It seems wrong, especially in the first row.
It should be :
0.10 0.20 (cycles amplitude)
isn't it?

05 Jan 2017 Lee Zoro

15 Dec 2016 Abarr

Abarr (view profile)

Great file.

20 Nov 2016 Abdulaziz

03 Oct 2016 Praveen K R

Can I use this for counting cycles in multiaxial fatigue?

Comment only
29 Sep 2016 Udit Sood

Hello Adam,
This is an excellent code. Thanks for the share. It works pretty good and shows desired results.
Best Regards

Naval architect.

Comment only
28 Sep 2016 Eric Kappel

In Matlab R2016b, when running:

>> rfdemo1

I get the following error message:

Attempt to execute SCRIPT rainflow as a function:

Error in rfdemo1 (line 35)

When examining the rainflow.m file it does not contain matlab commands that perform a task.
What am i doing wrong?

P.S. I did add the directory containing the rainflow-scrpts to my path an do have an X-code c-compiler available.

Kind regards,

Eric Kappel

Comment only
11 Aug 2016 Cuneyt Ozturk

In my model I have used variable modal strain time history generated on mode frequencies.

I have counted strain amplitude and means against each other in fatigue cycles,

And I have assessed fatigue damage using fatigue endurance limit which was 10^6 cycles for my spec, and correpondimng strain enurance level which I have calculated from hooke’s law , for ealstci structure.

But all mu assessment based on modal strain amplitude I have calculated using rainflow algorithm in matlab.

Any comment on this ?

Many thanks,

Best regards,


Comment only
06 Aug 2016 Vladimir Krejci

Hi Adam,
I was wondering whether the package works under MATLAB v6.5.2 r13? I've tried running sig2ext and it worked but neither of the demos does. It always gives me an error message: "??? Attempt to execute SCRIPT rainflow as a function." when running just the rf=rainflow(tp) of the "LESSON 2" of the index.html. When running the rfdemo1 it results in this: "Error in ==> C:\Users\LADA\Documents\MATLAB\RAINFLOW\rfdemo1.m
On line 35 ==> a=rainflow(ext,1);"
Could you guide me a bit please?

Comment only
03 Aug 2016 Adam Nieslony

Adam Nieslony (view profile)

Hi Ray,
Without going into details the 5 dimensional matrix is for extracting the time occurrence and duration of each counted cycle and half cycle. This is not the place for discussion so please send me a message to my e-mail account a.nieslony (at)

Comment only
02 Aug 2016 Yu WANG

Hi Adam (and others),
First of all thanks for sharing this!
I was wondering if impulsive loading is taken into consideration in this code since it collects peak time and period in the 5 dimension matrix. Traditionally only mean value and amplitude is taken into consideration in rainflow algorithm. Thanks.

02 Jun 2016 Chowdhury Milon

13 May 2016 Kiki

Kiki (view profile)

29 Apr 2016 jvn karthik

Hey, I need help to use the rainflow counting algorithm to convert a given set of forces data to a single fatigue load value. The data needs to be imported from excel. How do I go about doing the same?

Comment only
17 Apr 2016 Adam Nieslony

Adam Nieslony (view profile)

Thanks Tom for providing information about how to run rainflow on OSX. I am typical Windows user. See also comment from 13 Mar 2013 by Jeppe Otten.


Comment only
16 Apr 2016 Tom

Tom (view profile)


As stated under 'other requirements'
mexmaci64 is not provided in in the .zip.

To compile the source code for OS X follow the instructions given in the accepted answer

Since MATLAB R2015b does not detect Xcode 7.0 by default see (if needed) the accepted answer in


Comment only
15 Apr 2016 Tom

Tom (view profile)

Hi Adam (and others)

Is the a compiler for OSX (vers. 10.11.4 or later) or perhaps some other confirmed method (to make in run on mentioned OS) in the pipeline?


Comment only
13 Apr 2016 Suresh kumar Gajendran

When I used the function rfmartix the output is number of cycles but I want to see the corresponding amplitude and mean values, kindly help plz.

- Kumar

Comment only
13 Apr 2016 Suresh kumar Gajendran

When I used the function rfmartix the output is number of cycles but I want to see the corresponding amplitude and mean values, kindly help plz.

- Kumar

23 Mar 2016 Todd Daniel

It appears the output histogram uses the hist function (rather than histogram) which uses bin centers rather than bin edges. Any guidance on modifying the code to use the histogram function so the output counts are provided using bin edges rather than centers?

Comment only
09 Mar 2016 Morteza Dehghani

09 Mar 2016 Sadaqat ALI

Hello, Everybody. I want to Use Rainflow algorithm for Cycle counting of Battery.I have just SOC in %.
Anyone Help me,it would be Nice.
Thank you

Comment only
16 Feb 2016 Pedro Carvalho

Hi. Congratulations for the code. Wonderfull.
I have tryed to run a simple example from the ASTM E1049 and it gave me different results from the ones in this standard. I might have missed some step to make it work properly. Please advise

The vector of point is [-2 1 -3 5 -1 3 -4 4 -2]


25 Dec 2015 qin bin

thank U

04 Dec 2015 Jeroen Vermond

I would like to thank you sincerely for this very fast and useful function.

23 Oct 2015 Pavan Naik

24 Sep 2015 CHANDAN Nagaraja

Mr Adam. wonderful ! works perfectly!

I just wanted to ask does anyone of you know how to get the Rainflow filtering and discretization filter before Rainflow count? Does anyone have the code for the same?

Comment only
24 Sep 2015 Vitor Ramalho de Brito


I'd suggest you to process your information first, transforming your data to a single matrix, or even adding the results of the multiple cycle counts after using the algorithm.

Comment only
09 Sep 2015 phil

phil (view profile)

Thank you for this great tool! But one thing i couldn't figure out so far: I want to add the matrices of multiple sets of data (not multiaxial). Could you (or someone else) please explain me, how to get the same size of matrices? I guess the range is calculated by min/max value of each dataset, can i set it to a fixed value somewhere?

Many thanks in advance.
best regards

Comment only
30 Aug 2015 Ed

Ed (view profile)

First of all thanks for sharing this!

The MEX file is very fast, so fast even that the time-bottleneck is the sig2ext script. Could you please also include a Mex-version of it since it might be (a lot) faster than the .m file ?

Comment only
13 Jul 2015 Mouhannad Dbeiss

Hi,Can anyone tell me how to run the rainflow.c code in matlab?!!! because rainflow.m is empty

Comment only
22 May 2015 wang

wang (view profile)

I found the first raw of the result from "rainflow" is not the value of stress range, but the value of alternating stress, which is the half of the value of stress range, right?
I think the code should clarify this point, because it may lead the final S-N be incorrect!

12 May 2015 Ralph

Ralph (view profile)

Hello everyone,

Matlab crashes when I try to run the script underneath. Does anyone else have the same experience with matlab crashing when using rfdemo2? If anyone knows a solution, I would be very grateful.

KR, Ralph


for t=0:timestep:endtime;


Comment only
07 May 2015 Chudong Qin

05 May 2015 Zikobrelli

21 Apr 2015 Jingsheng Liao

30 Oct 2014 Andy

Andy (view profile)

21 Sep 2014 youssef BOUSFIA

hey sear Nieslony
can you help me please to calculate spectral moments in matlab, in order to calculate lifetime theoritically and compare it to rainflow results obtained through your code
thanks a lot sear

Comment only
08 Sep 2014 Arash

Arash (view profile)

25 Jul 2014 Anthony Lelli

Dear, Adam Nieslony
Thank you for writing this matlab file, I am finding it invaluable.

09 Jul 2014 a

a (view profile)

Dear Adam Nieslony
How can I access to win 32 package ?
Best regards

14 Jun 2014 Mohamed Yassin OUKILA

Hi All,

Do you why I get "RAINFLOW: To many input arguments."

I am using 4 arguments

cycles = rainflow(double(peaks), abs( double(lmf)), double(Fatigue.ChanInfo(iCh).LUlt), double(Fatigue.UCMult))';

Comment only
13 Jun 2014 Mohamed Yassin OUKILA

Hi Abhinav,

Mlife (NREL) uses this function to do fatigue analysis (for wind turbines). if you look at the source code, you might understand how to use it.


Comment only
13 Jun 2014 Mohamed Yassin OUKILA

12 Jun 2014 Mohamed Yassin OUKILA

19 Mar 2014 Hugo

Hugo (view profile)

24 Feb 2014 Abhinav kumar


I am not able to use this.

I am new to Matlab, can anyone help and let me know how to use this for the set of my data or any data for that matter.


17 Jan 2014 Sofia

Sofia (view profile)


I'm running the tool, and it works very well! Thank you!

But why you describe the cycles with Amplitudes and not Range? Is it correct, to multibly the amplitude by 2 at the end to get the range?

(2*mx) to get the
associated range?

Comment only
13 Mar 2013 Jeppe Otten

If you are running MatLAB R2012b on a Macbook you can follow the link below in order to use the rainflow.c script:

It will guide you how to install Xcode, patch it and then you are ready to compile your mex file for Matlab by writing this in your command window:

mex rainflow.c

Comment only
13 Mar 2013 Jeppe Otten

I'm currently running MatLAB R2012b on my Macbook Pro, but I'm having trouble running the script. Is there a rainflow.mexOSX? When I'm running rfdemo1.m it gives me this error:

Undefined function 'rainflow' for input arguments of type 'double'.

Error in rfdemo1 (line 35)

Comment only
11 Mar 2013 Bülent

27 Feb 2013 Mads

Mads (view profile)

Can anyone explain why the ampl is divided by 2 in rf3 in rainflow.c
"ampl=fabs( (a[j-1]-a[j-2])/2 );"

Comment only
25 Jan 2013 Francesco Perrone

The function is great.
Btw I've got a question: trying to cross-check results coming from your function and those from another software on the same time series, leads to different rfc. Within your function, half cycles are untreated (I mean being rounded up/down); the mismatch with the other software is located exactly there. Do you know any method to further process half cycles?

02 Dec 2012 Abdulrahman Kalbat

Dear Adam,

I am applying this algorithm to a list of State of Charge (in %) of a battery which ranges from 0% to 100%. I think applying this algorithm should return the number of cycles (Y axis) for each range of SOC values (from 0% 5%, then from 5% to 10% and so on) but I am getting really big values for the amplitude (from 0 to 4,000).

Could you please explain if it is possible to get ranges or it just finds mean values and amplitudes?

Comment only
05 Nov 2012 Roozbeh

04 Oct 2012 Michael Melzer

18 Sep 2012 Virali Desai

28 Aug 2012 Munaf Al-Ramahee

is there any illustration for using this code, i have mat include for max and min strain for each cycle. can use this code for counting depending on this information and how?

07 Aug 2012 Laura

Laura (view profile)

28 Apr 2012 Morteza Dehghani

20 Feb 2012 Esben

Esben (view profile)

Think I this function can be very helpfull. But I have a question.

I can't se how the discretisation of the level (y-axis) is control and what is the threshold? And is it possible to controlled these?

Comment only
17 Jan 2012 JAEWOO PARK

Dear Adam,

Thank you for your advice, I got the results I wanted from rfdemo1. But I don't know how to get similar results like 'amplitude, mean, number of cycles (cycle or half cycle), begin time of extracted cycle or half cycle, period of a cycle' using rfdemo2. I need to input a lot of data and get the results like list in rfdemo1 using input data like vibrations. Thank you a lot.

Best regards

Jay Park

Comment only
10 Jan 2012 JAEWOO PARK

it was wrong......

Comment only
10 Jan 2012 JAEWOO PARK

Fanally, I found it.

Comment only
10 Jan 2012 JAEWOO PARK

dear Adam,

hi~ I started to study MATLAB just before. I got a problem that I can't input a data to your algorithm. Can you give me an example with inputing some numbers?

Thank you

Jay Park

Comment only
28 Nov 2011 kai

kai (view profile)

dear Adam
thank you for your sharing, and there is a question that how can I get the "cycle_begin_time, cycle_period_time" in the "rainflow.c". And how can I make a 'rfhist' input, the format of 'rfhist'.

08 Nov 2011 Abhishek Modi

dear Adam,
I have a small question. I am currently working on a suspension model made in solidworks and i have translated it to simmechanics.i need to calculate the amount of fatigue present .i have been given a load cycle vs time and want to implement it .How can i do it here?

Comment only
14 Jun 2011 pietro

pietro (view profile)

This function is great, the only bad point is the lack of a message, when overflow or underflow occour

Best regards


Comment only
27 Apr 2011 Ramon

Ramon (view profile)

Dear Adam,

at the end works fine. I didn't read properly the help file to compile the Mex funtion to get the rainflow.dll. So for everyone that may have the same problem please read the help carefully.

I made some checks with my working current signals and works fine. It helps a lot to my work thank you very much for sharing it.

Best regards

10 Mar 2011 Shashank Chauhan

I got it working.

The idea lies in renaming the rainflow.m to rainflow_1.m or any other name. The demo script rfdemo1 then executes the rainflow.mex which is what is intended.

Comment only
10 Mar 2011 Ramon

Ramon (view profile)

Dear Adam

I have the same issue of Shashank (23Feb2011). And seems that rfdemo1 calls to rainflow.m that is the description.

Furthermore folloing the instructions I cannot check a simple input like b in the example below. I cannot run the rainflow. I'm not skilled yet on matlab maybe I miss something. Please could orientate us a little bit? thanks
>> rfdemo1
??? Attempt to execute SCRIPT rainflow as a function.

Error in ==> rfdemo1 at 35

>> b

b =

-2 1 -3 5 -1 3 -4 4 -2

>> rf=rainflow(b)
??? Attempt to execute SCRIPT rainflow as a function.


I'm using matlab V7.0.1.24704 R14

07 Mar 2011 Benjamin

First of all, thanks for sharing this awesome tool!

I have a similar problem on my linux pc running Matlab R201b:
??? Attempt to execute SCRIPT rainflow as a function:

Any help on that? :)


Comment only
23 Feb 2011 Shashank Chauhan

Dear Adam

I am getting the problem as some have previously posted.

?? Attempt to execute SCRIPT rainflow as a function.

Error in ==> rfdemo1 at 35

Can you suggest how should I overcome this.



Comment only
31 Jan 2011 Ahmed

Ahmed (view profile)

I downloaded the files and tried to run some numbers.
My input was [4 12 7 14 -5 4 -9 7 -1 16].
According to the rainflow method I am familiar with, I expected to get somthing similar to
[4 14 7 12 -5 4 -7 16 -1 7].
Instead, I got the matrix rf with Mean, Amp. , Half/full cycle, begining time and cycle period.

My question is, is it possible to get the result I expected,
i.e. [4 14 7 12 -5 4 -7 16 -1 7].

Thanks in advance,

Comment only
13 Jan 2011 Dilip Rao

Thank you Adam.I did add the rainflow matrices from every axis separately.

Comment only
26 Nov 2010 Dilip Rao

HI Adam,
The problem is the matrices are of different sizes and are really huge.Like I have 5 test cycles and x axis data from each cycle of different durations.I cannot add all the cycles as it is huge amount of data,so now can you suggest me how do I take a rainflow of all the cycles combined in one result?

Comment only
26 Nov 2010 Adam Nieslony

Adam Nieslony (view profile)

Hi Dilip Rao,
You can add the matrices without problems if they have the same size: m=m1+m2+m3. I don't know what you need exactly to do, but be careful while adding matrices from different sensors - maybe you have multiaxial fatigue problem? I this case use some theoretical criteria for obtaining equivalent uniaxial fatigue loading/matrix.

Comment only
26 Nov 2010 Dilip Rao

I would like to know if I have a lot of rainflow matrices,how do I add them.
ex. I have data from 3 axes of a sensor and from 3 sensors and I just need one rainflow matrix for all this data.The data for each axis and each sensor is I would like to know how do I get just one rainflow matrix for all the data?

Comment only
26 Nov 2010 Dilip Rao

24 Nov 2010 Chris Mc

I am quite new to matlab but can anyone tell me if this algorithm can give an output of number of cycles to failure? I am interested to know when a component (modelled in FEA) is going to fail.


Comment only
18 Nov 2010 Andrew Greaser

Thanks Adam,
I didn't phrase my question correctly, I understand the RFHIST counts cycle amplitudes and not stress ranges now, but what I am trying to figure out is if my rainflow function outputs - rf(3,:) Number of cycles (0.5 or 1.0) and my RFHIST syntax is [no,xo]=rfhist(rf,30) how does the program determine the bin locations or is rf evenly distributed over 30 bins or are the bin locations associated with the number of extracted cycles? Can you please elaborate on this.


Comment only
18 Nov 2010 Adam Nieslony

Adam Nieslony (view profile)

Hi Andrew Greaser,
The RFHIST counts cycle amplitudes and not ranges. You can also make an histogram for cycles mean, frequency and period. See help lines included in RFHIST function.

Comment only
18 Nov 2010 Andrew Greaser

Hello, My question is, how is it determined in the rainflow algorithm what stress ranges and cycle counts are put into each bin to create a rainflow histogram?

Comment only
12 Oct 2010 Scott Richardson

Might someone have a data set, with a known answer, to be able to run and understand clearly what the concerns cited above are. Or at least to help understand the nature of what has some concerned about. I want to be sure to not misunderstand something and I don't have data that can help me get to that point. Thanks very much in advance.

10 Oct 2010 Scott Richardson

Thank you very much Mr. Nieslony.

Comment only
10 Oct 2010 Adam Nieslony

Adam Nieslony (view profile)

According message from Scott Richardson, 09 Oct 2010.

There are more than one equation for stress-life characteristics. Probably you are working with the Basquin model:


where b is understood as the curve slope. In my example the Wohler model is used. It is possible, with some restriction, compute the 'm' slope on the basis of Basquin model:


But remember that the first step is clarifying which kind of curve you are using. The Miner rule n/N=1 is used anyway.

Best regards, Adam Niesłony

Comment only
09 Oct 2010 Scott Richardson

Hello, my question is regarding the example provided. It's an example, I realize, but I need to know if we're talking about the same thing because it's SO different from what I am used to seeing.

Namely, the slope used is 'm=8', and I am used to seeing slopes for steel of like -0.07. so that makes no sense.

Can someone please provide some clarification of what is meant there.

Thank you.

Comment only
21 Sep 2010 upna fruit

Hi everyone,
First of all, thanks for your quick response in the previous comment I made. I'va keep on working on fatigue testing and I've found another problem.
I am analysing some test data with this algorithm but another research center is analysing the same data and they are reaching diferent results. They are using the algorithm of Downing and Socie "Simplified Rainflow Counting method".
Is it normal that we obtain different results because of that?

Thanks in advance

05 Sep 2010 upna fruit

Hi everone,
I'm working on fatigue testing and I'm using the rainflow algorithm with long and quite complex signals.
reading thought rfdemo2 I've noticed that the function
sig2ext is called twice. Is that necesary?
I will be gratefull of any help

05 Jul 2010 massimo

how to import data in rfdemo2?
Lesson 2 from the html guide works, but what is the syntaz for
Great work

Comment only
30 Apr 2010 Ahmed Farag

30 Apr 2010 Ahmed Farag

Thanks Adam for your effort and you response to my enquiry, i really appreciate such an awesome routine

28 Apr 2010 Ahmed Farag

I have a problem running the rfdemo1 file , i got this error message
?? Attempt to execute SCRIPT rainflow as a function.

Error in ==> rfdemo1 at 35

Any solution for that

Comment only
27 Feb 2010 Badrinath Veluri

It is very good work

27 Jan 2010 Claudio Pedrazzi

First of all, let me compliment for this excellent piece of software!!

The ASTM standard E 1049 -85 (2005) defines two distinct rainflow algorithms:
A) 5.4.4 "Rainflow counting" (that produces half-cycles)
B) 5.4.5 "Simplified rainflow counting for repeating histories" (that never produces half-cycles)

this is probably the answer to questions like the one of Ray Beale. Now I am interested in the "B" method, and I am asking the author: which algorithm is implemented here? my guess is the "A" method, with half cycles.
Second question: is there some hope to extend this function to be able to compute, optionalyy, also the B way?
If necessary I would be glad to provide more info (namely the text of the ASTM standard).
Best regards and thaks a lot for sharing!

22 Dec 2009 Ray Beale

Sampathkumar- Amplitude is always half the range, by definition.

I am finding many half-cycles in my rfc output of a long time history. Another method I've used produces full cycles. When comparing the two methods for the same time history, the histograms have the exact same shape but your method is shifted to the right due to the unpaired half cycles. Both claim to be ASTM standard. Any idea why?

Comment only
11 Nov 2009 Jinsuk Lee

I have temperature data over time and derive a fatigue model. Using this rainflow counting, I want to get data with three parameters, which are Max_termperature, each cycle time, amplitude (max-min). Is anyone knowing if this package can provide this kind of data? I appreciate.

Comment only
05 Nov 2009 S_Sampathkumar Sampathkumar

On Elena Menéndez's question above, is there an answer. I am finding that amplitude is half the range as well in this method.? Anyone knows why?

"I have noticed one important difference in the rainflow when compared with the rutine used by the software Bladed. The latter always assigns one full cycle to the range (max-min) of the timeseries. However, your rutine assigns 0.5 cycles to this range. Which one is more accurate? "

Comment only
18 Oct 2009 Andreas

I found out that my first error came from a conflict caused by a similar filename and function name (Rainflow.m/rainflow) But now my error is:
??? Undefined function or method 'rainflow' for input arguments of type

Error in ==> testinterpolasjon at 19
rf = rainflow(ext,exttime);

I'm running Matlab release 2009a

Comment only
18 Oct 2009 Andreas

I can't get this working. I try the rfdemo1 using the syntax found in the rfdemo1.m, f.ex.
rfdemo1([2 3 2 4 2 5 1 6])

My error output is
>> rfdemo1([2 3 2 4 2 5 1 6])
??? Attempt to execute SCRIPT rainflow as a function:
C:\Users\Andreas\Documents\MATLAB\Rainflow cycle counting\rainflow.m

Error in ==> rfdemo1 at 35


Anyone know why?

Comment only
30 Apr 2009 ap1le q

very good

Comment only
02 Dec 2008 Elena Menéndez


I have noticed one important difference in the rainflow when compared with the rutine used by the software Bladed. The latter always assigns one full cycle to the range (max-min) of the timeseries. However, your rutine assigns 0.5 cycles to this range. Which one is more accurate?
Thank you

Comment only
19 Sep 2008 Filip R

Does anyone know how to get output data from rfdemo1? Because i noticed that rainflow.m is not accurate with larger amount of data. Thank you

Comment only
12 Sep 2008 santosh a

04 Aug 2008 Craig Chang

great tool. Detail doc, easy to use. Excelent.

09 Jul 2008 Félix DORE


08 Apr 2008 syna gupt

I used this toolbox but the result seems not correct....

Comment only
07 Jan 2008 aid Abdelkrim

11 Dec 2007 Philips Adewuyi

I have been looking for materials that treat the subject of rainflow counting methods for fatigue analysis of structures.

Comment only
04 Nov 2007 nasri mohamed

methode de rainflow par matlab

Comment only
27 Oct 2007 Jenyi Liao

19 Sep 2007 David Outcalt

Do you have a commented version of the C code? I find it difficult to follow.

11 Sep 2007 Achalesh Pandey

11 Aug 2007 arif fahruddin

I'm master student, my thesis about fatigue in variable amplitude, random loaing. Have you a solution. Thank You

Comment only
01 Aug 2007 Carmem Miranda

I am taking Master course in Brazil. My research is on fatigue. I have difficulties to understand the input data for your program “Rainflow Couting Method”. I need a tutorial to the program and/or an input file example. Can you help me?
Thanks for attention

Comment only
31 May 2007 Kerim Genc

Excellent code, very useful. I validated and understood it through trials with small data sets before moving onto huge force-time curves. Make sure that you understand that amplitude is in terms of a sinusoid, therefore the magnitude of the peaks are actually twice the amplitude indicated. Also, Half cycles can be a bit confusing at first, since this is not a "closed loop" rainflow counting method, you just have to combine the half cycles.

21 Mar 2007 rafiq zulkiffli

i have 1 nonlinear equation with 2 unknowns, can u give the example solution using matlab??..this is my equation is

Comment only
14 Mar 2007 Muhd rafiq

thanks for the advice..but im still got problem coding in Matlab, because i cannot get the peak and valley reversal data length is 32000 and sampling frequency is 200...can u give me some idea...

Comment only
05 Feb 2007 muhd rafiq zulkiffli

show the code for rain flow cycle counting

01 Feb 2007 Adam Nieslony

Hi Rafiq Zulkiffli,

Some years ago I wrote the rainflow function in MATLAB Script (m-file). Unfortunately the function worked very, very slow, because many iterations in the rainflow algorithm appears. So, I decide to create mex function where the time consuming iterations realized faster. Be sure, with ?the soft code? you cant count the cycles in sensible time. Look on the ?rainflow.c? file and try to understand the C code lines.

Best regards, Adam Nieslony

Comment only
28 Jan 2007 rafiq zulkiffli

need to show the soft code

15 Dec 2006 Matthew Hoehler

A very useful tool! It is fast, robust and did just what I needed; no more, no less.

14 Sep 2006 gov raj

good approach

10 Jul 2006 Andy Stevenson

This is an excellent tool. I made a couple of short example problems to understand the output and once I did that I'm using the program at work. The rfdemo2 code is especially cool for showing others how rainflow counting works.

10 May 2006 Vikas Gupta

This is very best in lot of applications.

25 Jan 2006 Sarah Hughes

Functionally this program is excellent, and produces results that are consistent with the ASTM standard. As with other users, it took me a while to realise that amplitude means amplitude and not range, but that's my fault for not reading it properly. I would appreciate some more explanation of the meaning of the half-cycles which I haven't encountered in other software, as I'm not sure how best to process these.

24 Jan 2006 Joe Quinn

Dr. Nieslony has developed a Rainflow counting application which we used to validate our impemtation of the ASME standard.
Once you know that his cycle size is peak and not peak to peak you can adjust (X2) and then it worked 100%.
Bins boundaries are based on the midpoint between succesive bin midpoints. This caused some juggling to match our method which specifies bin edge directly.
Otherwise, it was accuarate and easy to modify for graphing and printouts.

I am certain that had I been able to read it the Polish comments would have further added to my understanding of the code.

26 Nov 2005 matt matt

Once the entry vector is too large, it doesn't work. Who can help me?

24 Nov 2005 hh hh

21 Sep 2005 BB shine

This program is perfect to me... thanks..

08 Sep 2005 Tomasz Bednarek

14 Mar 2005 aid abdelkrim

- the version matlab does not go
- I need the module mex.h

14 Jan 2005 Ole Dossing

This is a very fine application, not to mention the latest additions. We have used the the rainflow in a stay bridge for fatigue monitoring on critical structures.

19 Dec 2004 muh alat

01 Dec 2004 Steve Grobler

Found teh demo quite informative. Would be helpful if the rainflow results could be arranged in a matrix of cycle counts, with the rows representing the mean, and the columns representing the ranges. Also be helpful if the "leftover" 1/2 cycles could be combined into full cycles and included in the matrix.

01 Jun 2004 abdelkader miloudi

15 Apr 2004 reshu shukla

i want to know that the information about the counting method

29 Jan 2004 Jim Kay

Program works well; does not produce histograms, you need to extract these yourself (watch out for half-cylcles).
Checked against "Simple rainflow counting algorithms" (1 pass methdo), Downing and Socie; got the same results.

24 Jul 2003 Zbo Amigo

Lang naar gezocht, maar nu heb ik het dankzij ZBO!

Comment only
24 Jul 2003 marc zbo

helemaal top. Mijn dag is gelijk goed

16 Jul 2003 Yu Sang Hui

This is the program that I want to find

24 Oct 2003

I add new functions: rfhist and rfmatrix.

12 Nov 2009 1.1

Revised for use with latest version of MATLAB.

04 Apr 2010 1.2

Added support for Win64.

Contact us