### GNU Octave

### Some Matlab (Octave) tutorials

- Matlab language skills and debugging
- Learn Matlab For Free, The Mathworks ... see: Matlab OnRamp, Matlab Fundamentals, and Matlab Programming
- Introduction to Matlab, MIT Open Courseware
- Matlab Tutorial, from Udemy
- Matlab basics and a little beyond, David Eyre, University of Utah
- Matlab Primer, 3rd edition, by Kermit Sigmond, University of Florida
- Matlab Tutorial, A.F. Bower, Brown University
- Debugging Matlab m-Files, Purdue University
- Extensive Matlab Documentation, The Mathworks

### Some Matlab (Octave) resources

- Matlab Central File Exchange
- Finite Elements Toolbox for Solid Mechanics, by Anton Zaicenco
- Engineering Vibration Toolbox, from Wright State University
- The Matlab ODE Suite, by L.S. Shampine and M.W. Reichelt

### nonhomogeneous nonlinear ordinary differential equations

- ode4u.m a fixed-time step, 4th order ODE solver
- ode45u.m the adaptive time step, 4th-5th solver ODE solver by Cash and Karp

### nonlinear systems of equations

- HPGfsolve.m system of nonlinear equations

### random variables

These .m-functions can be used to compute probability distribution functions and to generate samples of random variables.

### nonlinear constrained optimization, in general

These .m-functions implement methods for minimizing a function of several parameters subject to a set of inequality constraints:

minimize *f(x)* such that *g(x) ≤ 0*,

where *x* is a vector of design variables,
*f(x)* is a scalar-valued objective function,
and *g(x)* is a vector of constraints.

- Examples of running constrained minimization codes
- NMAopt.m implements a Nelder-Mead algorithm.
- ORSopt.m implements an optimized step-size random search algorithm.
- SQPopt.m implements a sequential quadratic programming algorithm.
- avg_cov_func.m calculates average and coefficient of variation of a random penalized objective function.
- box_constraint.m determines the box constraint scaling factor
*a>0*to the perturbation vector*r*from*x*such that: max(*x+ar*) < +1 and min(*x+ar*) > -1 - optim_options.m is needed for ORSopt.m, NMAopt.m, and SQPopt.m
- plot_surface.m plots the cost function as a surface over two of the parameter values, ORSopt, NMAopt, or SQPopt
- plot_cvg_hst.m plots the convergence history for the solution computed by ORSopt, NMAopt, or SQPopt

### nonlinear least squares via Levenberg-Marquardt

- The Levenberg-Marquardt algorithm for nonlinear least squares curve-fitting problems
- lm.m - Levenberg Marquardt algorithm: minimize sum of weighted squared residuals
- lm_examp.m - an example of how to call lm.m
- lm_func.m - an example of how to enter a model for lm.m
- lm_plots.m - utility to plot results from lm.m
- mypolyfit.m - fit in an arbitrary power polynomial basis (actually linear least-squares)

### linear least squares with l_{1} regularization

- L1_fit.m - linear least squares with l
_{1}regularization. - L1_fit_test.m - a simple example of the use of L1_fit.m.
- PronyFit.m - linear least squares with l
_{1}regularization to fit a Prony series. - PronyFit_test.m - a simple example of the use of PronyFit.m.

### signal processing

- accel2displ.m - remove some bias and drift from acceleration data and compute displacement
- chirp.m - a sine-sweep sequence
- eqgm_1D.m - earthquake ground motion
- ftdsp.m - digital signal processing (band-pass filtering, integration, differentiation) with the FFT
- inputs.m - generate input sequences, unit white noises, filtered white noises, chirp, impulse
- plotEnsemble.m - plot a set of time series in a compact format
- plotSpectra.m - plot a matrix of spectra (FRF's or PSD's)
- psd.m - estimate the power spectral density of a signal
- tfe.m - estimate the transfer function from input-output data

### linear time-invariant systems analysis

- abcddim.m - check dimensions of an LTI realization
- are.m - solve the algebraic Ricatti equation for a continuous time LTI system
- bal_real.m - compute a balanced realization for a continuous time LTI system
- blkHankel.m - form a block Hankel matrix from a matrix-valued time series
- blkToeplitz.m - form a block Toeplitz matrix from a matrix-valued time series
- ctrb.m - form the controllability matrix for a discrete-time LTI system
- damp.m - analyze eigenvalues of a dynamics matrix
- dliap.m - solve the Liapunov equation for a discrete time LTI system
- dlsym.m - simulate the response of a discrete time LTI system
- KalmanDcmp.m - transform an LTI state-space realization into Kalman canonical form
- liap.m - solve the Liapunov equation for a continuous time LTI system
- lsym.m - simulate the response of a continuous time LTI system
- markovs.m - compute the Markov parameters of a discrete time MIMO LTI system
- mimoBode.m - compute the Bode spectrum of a MIMO LTI system
- mimoTFE.m - estimate the frequency response function matrix from MIMO data
- modalLTI.m - generate a continuous-time LTI state-space model in modal coordinates
- noll.m - the null space of a nearly singular matrix, in which a tolerance on smallest singular values can be specified
- obsv.m - form the observability matrix for a discrete-time LTI system
- pz_plot.m - pole-zero plot
- schord.m - put a Schur decomposition into order
- singval.m - compute the singular value spectrum of a continuous-time LTI system
- syszero.m - MIMO system, invariant, transmissions, and decoupling zeros from (A,B,C,D)
- SysID_err.m - compute the 2 norm of the difference between two LTI state-space models, and draw the bode plot of the LTI model of this difference
- system_id_models.m - a set of continuous-time LTI state-space models and input/output sequences
- WienerFilter.m - Wiener Filter identification of Markov parameters and simulation

### miscellaneous

- formatPlot.m - set font size, line width, marker size
- rainbow.m - create a colormap traversing red, yellow, blue, green, violet.