MATLAB® tool for plotting Rosin-Rammler size distribution diagram
Ivan Brezani (a) and Fridrich Zelenak
Technical University of Kosice, BERG Faculty, Institute of Montanneous Sciences and Environmental Protection
Last updated: 2012-09-10
If using this tool for publishing scientific articles please cite the article "Improving the effectivity of work with Rosin-Rammler diagram by using MATLAB® GUI tool" - see References section.
It is possible to represent sieve test results in different ways, but the three most convenient ways according to Wills (2006) are:
- The weight of material in each size range expressed as a percentage of the total weight.
- The cumulative percentage of material passing through the sieves.
- The cumulative percentage of material retained on the sieves.
The first method mentioned will produce a hump when represented graphically. Graphical representation of the later two will produce ascending or descending curve for % the cumulative percentage of material passing and the cumulative percentage of material retained respectively. Many effort has been done in the past to represent the graphical result by straight lines instead of curves. It has been shown, that approximation of the size distribution curves in arithmetic plots suffers from deviation of data points in the region of finer and coarse aperature sizes. Semi-logaritmic plot avoids this and linear size distribution data points approximation represents the actual data better than in the case of linear approximation on arithmetic scale plot.
Rosin and Rammler, independently also Sperling and Bennet has found, that cumulative representation of size distribution can be approximated very closely using a following distribution function:
Where R(d) is cumulative percent of material retained on screen with mesh size d, d' is a specific parameter - mesh size on which exactly 36.79% wt. of material is retained. This parameter can also be used to determine, whether the material is fine or coarse. Last parameter in the above function n is a uniformity parameter, that characterizes the material in a manner of proportional content of individual size classes in the overall size distribution. (Lesko, 1985)
Plot of this function is linear in case of special axes used - logarithmic vs. double logarithmic scale. Diagram consisting of such scales is called Rosin-Rammler Diagram and MATLAB® tool for plotting size distribution data using such a diagram is proposed. Functions for determining the specific parameters are part of the tool as well.
There are quite a many m-files included in the zip file, that are necessary for running the tool and its GUI properly. Credits for some of the function files included belong to their particular authors. However, only the RRD.m file is to be run directly:
This will initiate a GUI window as can be seen in Fig. 1.
Fig. 1. Main window of Rosin-Rammler Diagram plotting tool
The main GUI window can be divided into three sections:
- Size distribution data - table for data input (left side)
- Rosin-Rammler diagram - graphical output of the plot (right side, top)
- Graph options - basic display options (right side, bottom)
Whole procedure of entering data up to plotting and printing is done using only control buttons and menu items in this GUI and running of any other MATLAB® scripts is not necessary.
Size distribution data set is to be entered into the table on the left side of the GUI (see Fig. 1.). This data set must consist of the following three components:
- Mesh Size - numerical value of mesh size.
- Units - unit in which the mesh size is given.
- % Passing or % Retained - numerical value of cumulative percent material passing.
If incorrect data is entered, various warning dialogs will appear.
Corresponding Units for particular Mesh Sizes can differ in the set and can consist of microns, mm up to m. There is no need to enter both, % Passing and % Retained as the first one entered will be re-calculated from latter anyway. Example data set is shown in Fig. 2.
Fig. 2. Example size distribution data set
The exact data set shown is saved in the included file data.xls and can be loaded using the "Load Experimental Data" item from menu:
File --> Load Experimental Data
Saving and loading data is an alternative for manual input, but note that all of the supported file types, namely .csv, .dat, .txt and .xls are exactly formatted and their change in external editors can lead to problems with backward compatibility. Saving the data into one of these formats is done from menu:
File --> Save Experimental Data
Up to three different data sets can be entered (or loaded) and plotted at once using the "Data" menu item. To change current data set shown, simply choose one of the following:
Data --> Experimental Data 1
Data --> Experimental Data 2
Data --> Experimental Data 3
After the last data was entered it is advised to hit the "Refresh Table Data" button and check the data again before their actual plotting.
When at least one relevant data set is entered (consisting of at least two valid data points) this can be plotted using the "Plot" button placed in the right bottom corner of the GUI. However, prior to this it is necessary to specify what to plot and what not to plot:
- Linear Approximation
- Data Points
Marked items will be shown in the graph and unmarked items will be not shown. Any possible combination of the above can be chosen. These tick boxes can be characterized as basic options. More advanced options will be desribed in next section.
Example: Plotting the data shown in Fig. 2., while marking all the items will produce a graph shown in Fig. 3.
Fig. 3. Examlpe Rosin-Rammler Diagram plot
If more than one relevant data sets are entered, they will be plotted along each other in one plot.
Options can be edited after hitting the "Edit" button, which will call a new window shown in Fig. 4. The other option is to open this very same window by selecting the appropriate menu item:
Edit --> Graph Properties
Fig. 4 Edit graph options window
Editable parameters are divided into four sets:
- Axis limits
- Show data
- Graph labels and title
The meaning of the particular options is as follows:
Y-Axis limits can be changed to virtually any value between 0 and 100 (excluding), but change of the maximum above the value of 99.999% and minimum below the value 0.001% is not recommended. Please note that in current version, Y-tickmarks are fixed and cannot be changed.
X-Axis limits are calculated automatically by normal circumstances. However, this can be changed by untiking the "X-Axis auto limits" checkbox and specifiing the values desired.
Units used in the plot can be specified by choosing one of the items from the drop down menu named "X-Axis Units".
By ordinary circumstances, all the valid data sets (up to three) are shown on the plot. By unticking one or more of the checkboxes, one can override this default setting and force this tool not thow particular data sets on the graph.
Text used for particular legend entries.
Graph labels and title
Axis labels to be shown in graph. Please note that changing the "X-Axis Units" from the "Axis limits" options set will not change the text value of "X-Axis label" and this has to be changed manually if necessary.
In order to apply changed values, the "Accept" button must be pressed ehen closing the edit window. If the "Cancel" button or close window button is pressed previous values will be restored.
It is also possible to get rid of the solid line shon at 36.79% R(d) by unchecking following menu item:
Edit --> Show line at 36.79% Rd
To apply any changes done graph must be replot using the "Plot" button
"Zoom" button can be used to zoom in particular area of the plot. After clicking the button, denote the desired rectangular area by clicking its four corners directly in the plot.
To discard the zoom, replot the graph using the "Plot" button.
Savin the actual appearance of the graph (even if zoomed in) is done by selecting the appropriate menu item:
File --> Save graph
This will initiate a new window - standard MATLAB® figure window with current graph (see Fig. 5.). This way, the graph can be saved to any supported file format using standard procedures of saving figures.
Fig. 5. Figure window for saving graph.
Additional changes made in the main window will not affect already opened figure window.
In version 0.9 an ability to calculate RR size distribution parameters not only by linear approximation, but also using equation fitting routine in least-square sense was added. This way, better correlation coefficients are achieved, however in order to use equation fitting, Optimization Toolbox must be in the MATLAB® path. To select equation fitting use the following menu item:
Calculate --> Equation fitting
If this menu item is not tick marked, standard - linear approximation of the data is used.
After selecting the menu item for calculating Rosin-Rammler Distribution parameters and values:
Calculate --> Size Distribution Values
following dialog window will show up (see Fig. 6.):
Fig. 6. Dialog window informing about Rosin-Rammler distribution parameters
Please note, that this dialog informs about parameters calculated for "Experimental Data 1" regardless of the actual data selected. Clicking the "OK" button will close actual dialog and open a window for calculating size distribution values as shown in Fig. 7.:
Fig. 7. Window for calculation of size distribution values
This "calculator" can be used to calculate % of material retained R(d) on particular mesh size d [mm] and vice versa. Values are calculated according to linear approximation. In the Source Data section, one can choose for which data set to calculate the size distribution values. Changing the "Experimental Data" will cause the similar dialog to pop-up as shown in Fig. 7. Correlation is a correlation coefficient between the experimental data points and the linear approximation.
Copyright (c) 2010, Ivan Brezani All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Lesko, M., 1985. Upravnicka Technologicka Analyza, Edicne Stredisko VST v Kosiciach. (in Slovak)
Wills, B. A., Napier-Munn, T. J., 2006. WILL'S Mineral Processing Technology, Seventh Edition, Elsevier Science & Technology Books. ISBN: 0750644508
Brezani, I., Zelenak, F., 2010. Improving the effectivity of work with Rosin-Rammler diagram by using MATLAB® GUI tool, Acta Montanistica Slovaca, Vol. 15. Available online: http://actamont.tuke.sk/pdf/2010/n2/7brezani.pdf