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. |
|
| SDOF response to unit step force | |
| TWO-DOF response to applied force excitation. | gencoord.pdf |
TWO-DOF response to a wavelet base input. |
twodof wavelet.mtwodof_wavelet.pdf |
| Additional Shock Analysis | Matlab Scripts |
| SRS Matlab Script (Kelly-Richman & Smallwood) |
srs.m
Supporting function: enter_time_history.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 via a digitial recursive filtering relationship. |
arbit.m Supporting function: enter_time_history.m |
| Tripartite Shock Response Spectra Plots | srs_tripartite.m |
| Mean filter method for removing saturation with optimization. |
mean_filter_saturation.m
Supporting functions enter_time_history.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 |
Fouier Transforms |
Matlab Scripts |
Fourier transform |
fourier.mSupporting
functions:
|
Inverse Fourier transform |
invfourier.m |
One-sided, Full-amplitude FFT. Includes spectrogram. |
full_FFT.mSupporting
function: enter_time_history.m
|
Waterfall FFT |
waterfall_FFT.mSupporting
function:
|
Zoom FFT of a time series. |
zoomFFT.m
|
Interpolation of a time history via its Fourier transform |
interp_fourier.m |
| Signal Processing | Matlab Scripts |
| Time History, PSD, SRS & SPL Statistics & Plotting |
signal_stats.m
coordinates_ss.m coordinates_ss_scale.m octaves.m PSD_octave.m |
| Multi-function signal processing script for time histories |
signal_functions.m
signal_function_extract.m signal_function_stats.m |
| Integrate time history via the trapezoidal rule. |
integrate_th.m fade.m integrate_th_mf.m |
| Differentiate a time history. | differ.m |
| Calculate the standard deviation time history from an instantaneous time history | std_dev_th.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 |
| Track frequency and amplitude for a sine sweep | sine_sweep_spectral.m |
| Auto-correlation
of two signals. The Matlab Signal toolbox is not required. |
|
| Cross-correlation
of two signals. The Matlab Signal toolbox is not required. |
|
| Aliasing frequency calculator | aliasing.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 |
Cubic spline |
cubic_spline.m |
Signal Generation |
Matlab Scripts |
Generation of time
history
signals:
2=cosine 3=damped sine 4=sine sweep 5=white noise 6=terminal sawtooth pulse 7=half-sine pulse 8=versed sine pulse 9=wavelet |
generate.m
|
Generate a white noise time history where the user specifies the standard deviation and kurtosis. The skewness is approximately zero. |
|
Generate a white noise time history where the user specifies the standard deviation, skewness and kurtosis. |
|
Generate a time history with kurtosis > 3. The corresponding histogram has a shape similar to a witch hat. |
witch.m |
Filtering |
Matlab Scripts |
Butterworth Sixth Order Filter, Transfer Function |
BH.m |
Bessel Filter, Transfer Function |
Bessel_H.m |
Butterworth Sixth Order Filter |
Butterworth_filter.mSupporting functions:enter_time_history.m filter_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 |
| Time history response of an SDOF system to a sinusoidal base input | sine_base.m |
Power Spectral Density |
Matlab Scripts |
Overall Level of a Power Spectral Density Function |
psd_integ.m
|
PSD plotting function with full grid |
PSD_plot.m
|
Synthesis of a Time History to Satisfy a Power Spectral Density |
psd_syn.m
|
Power
Spectral Density
|
PSD.m
|
Conversion of a power spectral density to various octave formats |
PSDoct.m
|
P95/50 Envelope for a set of PSD measurements |
P9550.m
|
| Normal tolerance intervals, upper limits |
k_factor.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 Functions: sdof_ran_engine.m interpolate_PSD.m calculate_PSD_slopes.m |
| Multiply or divide one frequency response function by another. |
real_div.m
real_mult.m real_mult_intlog.m calculate_PSD_slopes.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, The alternate method uses a more efficient method for the tridiagonalization. The mo version is optimized for Matlab via sparse matrices. The Hessenberg version uses Matlab's hess function. |
supporting functions |
| QR Householder Decomposition | QR_Householder.m |
|
Eigenvalues via the QR Householder algorithm. Two versions. The mo version is optimized for Matlab via sparse matrices. |
|
| Generalized eigenvalue problem | |
| 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 LDLT.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 procedure | SVD.m |
| Single Value Decomposition of a semi-definite, symmetric matrix | SVD_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.
|
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.m free.pdf |
| Free vibration of a multi-degree-of-freedom system, exact method. | mdof_free.m Generalized_Eigen.m plot_legend.m line_colors.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 SDOF_freq.fig |
| Vibration Analysis of an Isolated Mass with Six-degrees-of-freedom | six_dof_iso.m |
|
Multi-degree-of-freedom system subjected to applied force, modal transient analysis |
|
| 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 |
| See also: Matlab RK4 Page Matlab_Newmark_Page Matlab ode45 Page |
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 |
| Multi-format data input utility. | data_input.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 |
| Calculate the roots of a cubic polynomial. | cubic_poly_roots.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_t_distribution.m
t_distribution.m |
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 |
|
|