Welcome to Vibrationdata Matlab Page

 Dear Guest,
Writing tutorials and maintaining a website are expensive endeavors. I need your help to continue this effort. Your subscription will allow me to continue this site and to add new materials.

The software and tutorials require a username and password which are given by subscription. The subscription instructions are given below.
The subscription entitles the user to download all of the items on this page, as well as other Vibrationdata pages.


Thank you for your support.
Sincerely, Tom Irvine
Email: tomirvine@aol.com

Tutorials

Power Spectral Density Calculation via Matlab: psd_mat.pdf
Guest tutorial submitted by Bob Light.
Classic Pulse Base Input Shock Analysis
Matlab Scripts
Response of a Single-degree-of-freedom System Subjected to a Half-sine Base Excitation
 
halfsine.m
time_calc.m
SDOF_base_animation_function.m

sbase.pdf

Response of a Single-degree-of-freedom System Subjected to a Versed-sine Base Excitation
versed_sine.m
versed_time_calc.m

sbase_versed_sine.pdf

SDOF response to a terminal sawtooth base input.
terminal_sawtooth.m
terminal_sawtooth_time_calc.m

terminal_sawtooth.pdf

SDOF response to a wavelet base input.
sdof wavelet.m

sbase_wavelet.pdf

SDOF response to combined sinusoidal force and base excitation.

sdof_force_accel.m

sdof_force_accel.pdf

TWO-DOF response to applied force excitation.

two_dof_force_sine.m

gencoord.pdf
TWO-DOF response to a wavelet base input.
twodof wavelet.m
twodof_wavelet.pdf
 Additional Shock Analysis
Matlab Scripts
SRS Matlab Script (Kelly-Richman & Smallwood)
 srs.m

srs_intr.pdf

DS_SRS1.pdf

SRS via convolution
srs_conv.m
Time history response of a single-degree-of-freedom system to an arbitrary acceleration base input.
arbit.m
Tripartite Shock Response Spectra Plots
srs_tripartite.m
Mean filter method for removing saturation with optimization.
mean_filter_saturation.m

mr_SRS.m

SRS plotting function
SRS_plot.m
Interpolate an SRS function.
interp_SRS.m
Shock pulse effective duration per MIL-STD-810F
shock_effective_duration.m
progressbar.m
Waveform reconstruction via wavelets.
waveform_reconstruct.m
wgen.m

wavelet_reconstruction.pdf

Scale a wavelet table to match an SRS specification.
wavelet_scale_SRS.m
wqsrs.m
werror.m
Time history from a wavelet table.
th_from_wavelet_table.m
 Signal Processing
Matlab Scripts
Time History, PSD, SRS & SPL Statistics & Plotting
signal_stats.m
coordinates_ss.m
octaves.m
PSD_octave.m
Multi-function signal processing script for time histories
signal_functions.m
signal_function_extract.m
signal_functon_stats.m
Integrate time history via the trapezoidal rule.integrate_th.m
Differentiate a time history.differ.m
Calculate the standard deviation time history from an instantaneous time history
 std_dev_th.m
Power Spectral Density 
PSD.m
FFT_core.m

psd.pdf
spectral.pdf
Shock_and_Vibration_Signal_Analysis.pdf

Conversion of a power spectral density to various octave formats
PSDoct.m
octaves.m
 Fourier transform
fourier.m
progressbar.m
Inverse Fourier transform
invfourier.m
One-sided, Full-amplitude FFT. Includes spectrogram.
full_FFT.m
fft.pdf  
Inverse FFT 
inverseFFT.m
Waterfall FFT
waterfall_FFT.m

M57.pdf

 Zoom FFT of a time series.
zoomFFT.m
zoomFFT_plot.m

zoom_fft.pdf
zoomFFT_example.pdf
d9p5.txt

Generation of time history signals:
1. sine
2. damped sine
3. sine sweep
4. white noise
generate.m
sweep.m
white.m
Determine the natural frequency and damping of a transient waveform using time history synthesis
sinefdam.m
sf_engine.m
Determine the natural frequency of a sinusoidal waveform using time history synthesis
sinefind.m
sfa_engine.m
 Extract Time History Segment
 extract.m
Remove pure tone noise from a signal. Can be used to remove 60 Hz and harmonic noise.
This method uses a time domain method curve-fitting method. It is precise but may take a "long" computational time.
remove_noise_frequency.m
sfa_engine_60.m

Filtering
Matlab Scripts
Butterworth Sixth Order Filter, Transfer Function 
BH.m

filter.pdf

REFILT.pdf

Bessel Filter, Transfer Function
 
Bessel_H.htm
Butterworth Sixth Order Filter 

Butterworth_filter.m
filter_coefficients.m
apply_filter.m
Bessel Filter via Fourier transform
fourier_filter_Bessel.m
Bessel_Transfer.m
Butterworth Sixth Order Filter via Fourier transform
fourier_filter.m
Butterworth_Transfer.m
Mean filter of a time history
mean_filter.m


Sine Vibration
Matlab Scripts
Sine Vibration Response Spectrum (VRS)
sine_vrs.m

 Random Vibration
Matlab Scripts
 Miles Equation for Base Excitation
 Miles.m
 Miles Equation for Applied force
 Miles_force.m
 Vibration Response Spectra Matlab Script

 VRS.m

Functions:
calculate_PSD_slopes.m interpolate_PSD.m

vrs_engine.m
AVRS_plot.m

vrs.pdf 

Determine the response of a particular SDOF system to a power spectral density base input 
sdof_ran.m
sdof_ran_engine.m
interpolate_PSD.m
calculate_PSD_slopes.m
Overall Level of a Power Spectral Density Function

psd_integ.m

Functions:
calculate_PSD_slopes.m
APSD_VPSD.m
APSD_DPSD.m

psdinteg.pdf
PSD plotting function with full grid
 PSD_plot.m
calculate_PSD_slopes.m
SRS plotting function
SRS_plot.m
Synthesis of a Time History to Satisfy a Power Spectral Density
psd_syn.m
psd_syn_data_entry.m
progressbar.m
Alternate method:
psd_syn_sine.m
Multiply or divide one frequency response function by another.
real_div.m
real_mult.m
real_mult_intlog.m

Linear Algebra DecompositionScript
Triangular Decomposition (LU)
triangular_decomp.m
pivot.m
Cholesky Decomposition (LLT )
Cholesky.m
Spectral Decomposition (LDLT)
spectral_decomp.m
Lanczos TridiagonalizationLanczos_tridiagonal.m
Householder TridiagonalizationHouseholder_tridiagonal.m
QR Householder DecompositionQR_Householder.m
Eigenvalues via the QR Householder algorithmQR_Householder_eigen.m
Single Value Decomposition of a matrix.  Matlab already has a built-in function to do this, but this script demonstrates the stepsSVD.m

 Linear Algebra, Matrix Inverse

Matlab Scripts
pseudo inverse of a matrix using two methods:
1. SVD
2. Ben-Israel & Cohen iteration
pseudo_inverse.m
QR Householder MethodQR_Householder_inv.m

 

 Linear Algebra and Eigenvalues
Matlab Scripts
Eigenvalues via the QR Householder algorithmQR_Householder_eigen.m
This program converts the generalized eigenvalue problem to a standarized form.
convert_eig.m
 Modified Gram-Schmidt Orthogonalization
modified_Gram_Schmidt.m
Simultaneous iteration example for the generalized eigenvalue problem.
simultaneous_iteration.m
Subspace Iteration
subspace_iteration.m
Sturm Sequence for the Generalized Eigenvalue Problem
sturm_sequence.m
LDLT.m
Transfer Functions from Modes

 transfer_from_modes.m

transfer_from_modes.pdf

This program calculates a power transmissibility function (G^2/G^2) for a given pair of degree-of-freedoms in a system based on the mode shapes, natural frequencies, and damping ratios. The transmissibility function is referenced to a force input node.

powertrans_from_modes.m

Mass Condensation (Guyan Reduction)

mass_condensation.m
Generalized_Eigen.m

Single Value Decomposition of a matrix.  Matlab already has a built-in function to do this, but this script demonstrates the stepsSVD.m
Single Value Decomposition of a semi-definite, symmetric matrixSVD_semidefinite_sym.m
pseudo inverse of a matrix using two methods:
1. SVD
2. Ben-Israel & Cohen iteration
pseudo_inverse.m
  Structural Dynamics: Beams & Rods
Matlab Scripts
Natural Frequencies and Mode Shapes of a Beam via the Finite Element Method, with two degrees-of-freedom per node.

This program also calculates the participation factors and effective modal mass values.
It allows for the addition of a point mass.
 beam.m

Functions:

beam_data_entry.m

local_stiffness.m
local_mass.m
assembly.m
plot_modes.m
mass_condense.m

Generalized_Eigen.m

beam.pdf  

Natural Frequencies and Mode Shapes of a Beam via the Finite Element Method with six degrees-of-freedom per node.

The beam elements may be in a three-dimensional frame.


 

beam_3D.m

Functions:

beam_3D_mass_condensation.m

Generalized_Eigen.m
beam_3D_modeplot.m

User Guide

beam_3D_guide.pdf

Normal modes & base excitation of a Cantilever Beam
cantilever_beam.m
Normal modes & base excitation of a Fixed-Free Rod
fixed_free_rod.m
Natural Frequencies and Mode Shapes of a Rocket Vehicle. The user must input a mass density file and an stiffness file. The stiffness file must be in terms of EI.
A future version of this program will allow for joint compliance and a branch for a payload.
 rocket_bending.m

Functions:

rocket_bending_data_entry.m

rocket_local_stiffness.m
rocket_local_mass.m
assembly.m
plot_modes.m
 Structural Dynamics: Plates
Matlab Scripts
Natural Frequencies of a Circular Plate, Simply-supported, Bessel Function Solutioncircular_SS.m
Natural Frequencies of a Circular Plate

circular_plate.m

polarplot3d.m

parse_pv_pairs.m

The Fundamental Frequency of an Isolated Circular Plate
 circular_elastic.m
Natural Frequencies of a Annular Plate  annular_plate.m
The Fundamental Frequency of an Isolated Annular Plate
 annular_elastic.m
The Natural Frequency of a Rectangular Plate Point-Supported at Each Corner
plate_corners.m
pfunction.m
  Structural Dynamics, Other
Matlab Scripts
Free vibration of a single-degree-of-freedom system, exact method.
 free.m
free.pdf
Free vibration of a single-degree-of-freedom system, ode45 numerical method.
free_ode45.m
free_function.m
Free Vibration of a Single-degree-of-freedom System with Nonlinear Stiffness.
nonlin.pdf
sdof_stiff2_ode45.m
sdof_stiff2_free_function.m
Free vibration of a pendulum, ode45 numerical method. This program solves the nonlinear equation of motion such that large angular displacements are allowed.
pendulum_free_ode45.m
pendulum_free_function.m
Vibration of a single-degree-of-freedom system subjected to sinusoidal base excitation, ode45 numerical method.
sinebase_ode45.m
sinebase_function.m
bode_transfer_function.m

Vibration of a single-degree-of-freedom system subjected to sinusoidal force excitation, ode45 numerical method.
sineforce_ode45.m
sineforce_function.m
bode_transfer_function.m

Natural frequenices, mode shapes, participation factors and effective modal mass values of a two-degree-of-freedom system.
 two_dof.m
Natural frequenices and mode shapes of a three-degree-of-freedom system.
 three_dof.m
Natural frequenices and mode shapes of a multiple-degree-of-freedom system.

mdof.m
Generalized_Eigen.m

Natural frequenices and mode shapes of a multiple-degree-of-freedom system, reduced to a subset of dof per the user's input.

mdof_reduced.m
Generalized_Eigen.m

Mass Condensation (Guyan Reduction)

mass_condensation.m
Generalized_Eigen.m

Craig-Bampton Methodmdof_CB.m
The Steady-State Frequency Response Function of a Multi-degree-of-freedom System Subjected to Harmonic Base Excitation
two_dof_frf.m
The Steady-State Frequency Response Function of a Single-degree-of-freedom System Subjected to Harmonic Force Excitation
sdof_force_frf.m
The Steady-State Frequency Response Function of a Multi-degree-of-freedom System Subjected to Harmonic Force Excitation
two_dof_force_frf.m

two_dof_force_frf_alt.m

Natural Frequency of a Single-degree-of-freedom System ( GUI ) 
SDOF_freq.m
SDOF_freq.fig
 Vibration Analysis of an Isolated Mass with Six-degrees-of-freedom
 six_dof_iso.m 
Newmark-Beta method for integration of a two-degree-of-freedom systemNewmark.m

Multi-degree-of-freedom system subjected to applied force, modal transient analysis

 

mdof_arb_force.m
progressbar.m
Generalized_Eigen.m

Multi-degree-of-freedom system subjected to applied force, modal transient analysis, reduced system

mdof_reduced_arb_force.m
progressbar.m

Matlab script for reduced system  subjected to applied force, modal transient analysis, mass condensationmdof_masscon_arb_force.m
Assembly of mass and stiffness matrices with transformation matrix

mass_stiffness_assembly.m
Generalized_Eigen.m

Natural Frequencies of Spring Mass Systems in Series
spring_mass_series.m
Generalized_Eigen.m
Torsional natural frequencies of a rod or shaftrod_torsional_fn.m
Three-dimensional coordinate transformationcoordinate_transformation_3D.m
Roots of characteristic equations for structural dynamics
 vibration_roots.m
  Acoustics
Matlab Scripts

Far field radiation rattern of a circular piston in an infinite baffle.

piston_radiation_pattern.m
Sound Pressure Level from a time history.
SPL.m
Noise from a subsonic gas jet
jet_mixing_noise.m
Franken method for a cylindrical structure subjected to a sound pressure field
  Franken.m
Liftoff acoustics of a rocket vehicle 
 liftoff_matlab.zip
Overall dB level from SPL or similar function
 dB_rms.m
Transmission loss through a single partition
single_partition.m
Transmission loss through three media
transmission_three_media.m
Driving Point Impedance
dp_impedance.m

dp_plot.m
Modal Density, Bending Modes, Flat Plate
modal_density.m
Vibration Response of a Thin Cylindrical Shell to External Acoustic Pressure via Statistical Energy Analysis
SEA_cylinder.m
SEA_plot.m
progressbar.m
SEA_cylindrical_shell.pdf
Fill factor for a payload fairing
fill_factor.m
octaves.m
Doppler shift
doppler.m
Newsletter with Doppler shift article:   June 2003
 Material Science
Matlab Scripts
Stress Corrosion Cracking: stress required to propagate a partial through-the-thickness crack-like discontinuity
  stress_intensity.m
  Animation
Matlab Scripts
 Animation of a single-degree-of-freedom system (spring mass system) subjected to sinusoidal base excitation with time history display.
 SDOF_base_animation.m

 Animation of a single-degree-of-freedom system (spring mass system) subjected to sinusoidal base excitation. (old)
 SDOF_sine.m

Animation of seven SDOF systems subjected to common sinusoidal base excitation. 
 SDOF_sine7.m
  Plot Digitization
Matlab Scripts
Digitize SRS and PSD plots from image files, such as .jpg files.
 loglog_digitize.m
Digitize log-linear plot.
loglin_digitize.m
Digitize SPL plot
digitize_SPL.m
Another digitization program.
digitize_plot.m

 

 Additional Plot Utilities
Matlab Scripts
Surface Scatter Plot from matrix with three columns of data
surface_scatter_plot.m
Plot a large time history by taking only the max and min within successive intervals.
small_plot.m
Plot EasyPlot *.sav files in Matlab
EasyPlot_translator.m

  Utilities
Matlab Scripts

ASTM E 1049-85 (2005) Rainflow Counting Method

rainflow.m
This progam sets up a coordinate table interactively for a PSD or SRS.
coordinates.m
 Convert Matlab data to ASCII text.
These programs use syntax similar to C/C++.
 data_convert.m

 data_convert_21.m
Convert time in seconds to hours, min, sec format.
hrminsec.m
Remove header lines from an external ASCII input file.
header.m
UCI data conversion.

Generates a series of two-columns files (time & amplitude) from a UCI input file.
The first column is time(sec).
The additional columns are amplitude.
uci.m
Principal moment of interia from a rotational inertia matrix.principal_moi.m
Add dB values for SPLs & PSDs.add_dB.m
Calculate the arc length of a half-sine wave.
These scripts demonstrate the use of the quad function with variable coefficients.
arclength_sine.m

arc_function.m
Interpolation
Matlab Scripts
Interpolate or extrapolate given two reference coordinates. Linear, Semilog and log options are included.
interpolate_coordinates.m
Logarithmic interpolation of a function.
intlog.m
Interpolate log-linear function.
int_semilog.m
 
Calculate pi
Matlab Scripts
Calculate pi using a series expansion of
cos(theta) and by applying the Newton-Raphson method.  The goal is to find the root of
cos(theta)=-1.
pi_nr.m
Calculate pi by determining the arclength of a quarter circle.
pi_arclength.m
progressbar.m
Calculate pi by determining the area of a quarter circle.  Simple grid point integration is used.
pi_gpi.m
progressbar.m
 

Statistics
Matlab Scripts
Normal tolerance intervals, upper limits
k_factor.m    
Integrate the noncentral t-distribution
noncentral_t_distribution.m 
Integrate the noncentral t-distribution, table format
noncentral_t_distribution_table.m
Integrate the student t-distribution.

integrate_t_distribution.m

t_distribution.m

Integrate the chi-square curve.

integrate_chi_square.m

chi_function.m

Integrate the normal distribution curve.
integrate_normal_distribution.m

 

Finance
Matlab Scripts
Loan calculation script for principal and interest
loan.m

 

Recommended Books

Other Vibrationdata Pages:    Home | Tutorials