File Exchange

image thumbnail

Split Hopkinson Pressure Bar Graphical Analysis Tool

version (95 KB) by David Francis
For analyzing strain gage data from SHPB tests


Updated 20 Jul 2017

View License

Users can input raw voltages from strain gages and walk through GUI analysis to export stress-strain curves (along with other pertinent data: eg force, strain rate, velocity, etc).
For documentation, video tutorial, and compiled executable version - visit
Video tutorial:

Please cite using peer reviewed journal article:
D.K. Francis, W.R. Whittington, W.B. Lawrimore II, P.G. Allison, S.A. Turnage, J.J. Bhattacharyya, "Split Hopkinson Pressure Bar Graphical Analysis Tool," Experimental Mechanics, Vol 57, pp 179–183 (2017).

Cite As

David Francis (2020). Split Hopkinson Pressure Bar Graphical Analysis Tool (, MATLAB Central File Exchange. Retrieved .

Comments and Ratings (17)

Xinna Wei

Can we do the torsional SHPB analysis with this one ?

salih duran


There is not a function called gui_mainfcn.m. Once you unzip the 2 files from the download (.fig and .m file), add the path to the unzipped folder to your working directory - or make the unzipped folder your working directory. Once there, run this one the command line: SHPB_Analysis_Tool

im graduating in mecanical enginiering and my final project is about hopkinson lressure bar
i read all you wrote but when i run the file:shpb_analysis_tool.m i receve an eror : Attempt to execute SCRIPT gui_mainfcn as a function:

and when i go to the gui_mainfcn.m i found that it is empty
can u please send me the file gui_mainfcn.m
thanl u so much

Hi, I tried to load the data but it is giving me the following error.
Struct contents reference from a non-struct array object.

Error in SHPB_Analysis_Tool>excel_vg_int_Callback (line 1821)
[file_name, file_path] = uigetfile('*.xl*', dialog_title, handles.user_data.last_dir_load);

Error in gui_mainfcn (line 95)

Error in SHPB_Analysis_Tool (line 42)
gui_mainfcn(gui_State, varargin{:});

Error in>@(hObject,eventdata)SHPB_Analysis_Tool('excel_vg_int_Callback',hObject,eventdata,guidata(hObject))
Error while evaluating Menu Callback.

Is there a forum for me to discuss such problems? Please get back to me in

I am not able to run this version. It says there are a lot of errors. Is there anyway I can download the old version because I never had any problems with it

Basit Ali

Sir i am undergraduate student of mechanical engineering working on my final year project SHPB. I have problem in taking signal from oscilloscope and to analyze it on Matlab GUI.Kindly help me for my project to take data accurately.
email: <>


Cetin Uysal

I cannot import the data if the dataset is over several thousands.


Small error in the dispersion constants for nu = 0.21, I believe the the 'E' value should be -9.3202

Eugene Luo

Eugene Luo



Completely rewritten. New interface. Ability to import/analyze multiple datasets. Only 1 GUI now. Optional: (2) genetic algorithm to optimize wave alignment quickly, (2) signal processing toolbox used to find the incident wave.

Resizeable windows

Force-Displacement to Stress-Strain (FD2SS) program missing from previous version

Corrected unit on nu=0.21 for dispersion. Fixed bug in the automated wave beginning detection algorithm.

Fixed minor bugs. Added publication information

few bug fixes

Fixed bugs: data import, wave start algorithm

Updated to include the .m and .fig files

MATLAB Release Compatibility
Created with R2016a
Compatible with any release
Platform Compatibility
Windows macOS Linux