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.
|
TutorialsPower Spectral Density Calculation via
Matlab: psd_mat.pdf
|
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
|
Response of a Single-degree-of-freedom System Subjected to a Versed-sine Base Excitation
|
versed_sine.m
|
SDOF response to a terminal sawtooth base input. |
terminal_sawtooth.m
|
SDOF response to a wavelet base input. | sdof wavelet.m |
SDOF response to combined sinusoidal force and base excitation. | |
| TWO-DOF response to applied force excitation. | gencoord.pdf |
|
|
Additional Shock Analysis |
Matlab Scripts |
SRS Matlab Script (Kelly-Richman & Smallwood) |
srs.msrs_intr.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 |
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
|
Waveform reconstruction via wavelets. |
waveform_reconstruct.m
|
Scale a wavelet table to match an SRS specification. |
wavelet_scale_SRS.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.mcoordinates_ss.moctaves.mPSD_octave.m |
Multi-function signal processing script for time histories |
signal_functions.msignal_function_extract.msignal_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
|
Conversion of a power spectral density to various octave formats |
PSDoct.m
|
Fourier transform |
fourier.mprogressbar.m |
Inverse Fourier transform |
invfourier.m |
One-sided, Full-amplitude FFT. Includes spectrogram. |
full_FFT.mfft.pdf |
Inverse FFT |
inverseFFT.m |
Waterfall FFT |
waterfall_FFT.mM57.pdf |
Zoom FFT of a time series. |
zoomFFT.mzoomFFT_plot.mzoom_fft.pdf |
Generation of time history signals:
|
generate.m
|
Determine the natural frequency and damping of a transient waveform using time history synthesis |
sinefdam.m
|
Determine the natural frequency of a sinusoidal waveform using time history synthesis |
sinefind.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
|
Filtering |
Matlab Scripts |
Butterworth Sixth Order Filter, Transfer Function | BH.m |
Bessel Filter, Transfer Function | Bessel_H.htm |
Butterworth Sixth Order Filter | Butterworth_filter.mfilter_coefficients.mapply_filter.m |
Bessel Filter via Fourier transform | fourier_filter_Bessel.mBessel_Transfer.m |
| Butterworth Sixth Order Filter via Fourier transform | fourier_filter.mButterworth_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 |
|
Determine the response of a particular SDOF system to a power spectral density base input |
sdof_ran.m
|
Overall Level of a Power Spectral Density Function |
psdinteg.pdf
|
PSD plotting function with full grid |
PSD_plot.mcalculate_PSD_slopes.m |
SRS plotting function |
SRS_plot.m |
Synthesis of a Time History to Satisfy a Power Spectral Density |
psd_syn.m
|
Multiply or divide one frequency response function by another. |
real_div.mreal_mult.mreal_mult_intlog.m |
| Linear Algebra Decomposition | Script |
Triangular Decomposition (LU) | triangular_decomp.m |
Cholesky Decomposition (LLT ) | Cholesky.m |
Spectral Decomposition (LDLT) | spectral_decomp.m |
| Lanczos Tridiagonalization | Lanczos_tridiagonal.m |
| Householder Tridiagonalization | Householder_tridiagonal.m |
| QR Householder Decomposition | QR_Householder.m |
| Eigenvalues via the QR Householder algorithm | QR_Householder_eigen.m |
| Single Value Decomposition of a matrix. Matlab already has a built-in function to do this, but this script demonstrates the steps | SVD.m |
| Linear Algebra, Matrix Inverse |
|
pseudo inverse of a matrix using two methods: | pseudo_inverse.m |
| QR Householder Method | QR_Householder_inv.m |
Linear Algebra and Eigenvalues |
Matlab Scripts |
| Eigenvalues via the QR Householder algorithm | QR_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 |
| Transfer Functions from Modes | |
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. | |
| Mass Condensation (Guyan Reduction) | |
| Single Value Decomposition of a matrix. Matlab already has a built-in function to do this, but this script demonstrates the steps | SVD.m |
| Single Value Decomposition of a semi-definite, symmetric matrix | SVD_semidefinite_sym.m |
pseudo inverse of a matrix using two methods:
|
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.
|
beam.m
|
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.
| Functions: User Guide |
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
|
Structural Dynamics: Plates |
Matlab Scripts |
| Natural Frequencies of a Circular Plate, Simply-supported, Bessel Function Solution | circular_SS.m |
| Natural Frequencies of a Circular Plate | |
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.mpfunction.m |
Structural Dynamics, Other |
Matlab Scripts |
Free vibration of a single-degree-of-freedom system, exact method. |
free.mfree.pdf |
Free vibration of a single-degree-of-freedom system, ode45 numerical method. |
free_ode45.m
|
Free Vibration of a Single-degree-of-freedom System with Nonlinear Stiffness. |
nonlin.pdf
|
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
|
Vibration of a single-degree-of-freedom system subjected to sinusoidal base excitation, ode45 numerical method. |
sinebase_ode45.m
|
Vibration of a single-degree-of-freedom system subjected to sinusoidal force excitation, ode45 numerical method. |
sineforce_ode45.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. | |
Natural frequenices and mode shapes of a multiple-degree-of-freedom system, reduced to a subset of dof per the user's input. | |
| Mass Condensation (Guyan Reduction) | |
| Craig-Bampton Method | mdof_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.mtwo_dof_force_frf_alt.m |
Natural Frequency of a Single-degree-of-freedom System ( GUI ) |
SDOF_freq.m
|
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 system | Newmark.m |
| |
| Multi-degree-of-freedom system subjected to applied force, modal transient analysis, reduced system | |
| Matlab script for reduced system subjected to applied force, modal transient analysis, mass condensation | mdof_masscon_arb_force.m |
| Assembly of mass and stiffness matrices with transformation matrix | |
Natural Frequencies of Spring Mass Systems in Series | spring_mass_series.m Generalized_Eigen.m |
| Torsional natural frequencies of a rod or shaft | rod_torsional_fn.m |
| Three-dimensional coordinate transformation | coordinate_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
|
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
|
Fill factor for a payload fairing |
fill_factor.m
|
Doppler shift |
doppler.mNewsletter 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 |
|
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
|
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.
|
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
|
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
|
pi_nr.m |
Calculate pi by determining the arclength of a quarter circle. |
pi_arclength.mprogressbar.m |
Calculate pi by determining the area of a quarter circle. Simple grid point integration is used. |
pi_gpi.mprogressbar.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 the chi-square curve. | |
Integrate the normal distribution curve. |
integrate_normal_distribution.m |
Finance |
Matlab Scripts |
Loan calculation script for principal and interest |
loan.m |
|
|