version (8.66 KB) by FTil
Read SAC files directly into MATLAB data structures.


Updated 24 Jan 2018

View License

* Note that SACPC2MAT works on little-endian machines (Linux and Windows PCs) and SACSUN2MAT is for big-endian machines like SUNs.
reads n SAC files file1, file2, filen with SUN or PC byte order and converts them to MATLAB format. The filenames can contain globbing characters (e.g. * and ?). These are expanded and all matching files loaded.

SACPC2MAT( cellarray ) where cellarray={'file1','file2',...,'filen'} is equivalent to the standard form.

SACdata is an nx1 struct array containing the header variables in the same format as is obtained by using MAT function of SAC2000. SACdata(i).trcLen contains the number of samples.

SeisData is an mxn array (where m=max(npts1, npts2,...)) containing the actual data.

filenames is a nx1 string cell array with the filenames actually read.

Note that writing


is equivalent to the following sequence

READ file1 file2 .. filen
(in fact the failure of above sequence to work properly on my system motivated this script).

SACSUN2MAT/SACPC2mAT was written by F Tilmann based on sac_sun2pc_mat by C. D. Saragiotis (I copied the routines doing the actual work from this code but used a different header structure and made the routine flexible). It was tested on MATLAB5 on a PC but should work on newer versions, too.

Cite As

FTil (2022). sacsun2mat/sacpc2mat (, MATLAB Central File Exchange. Retrieved .

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

Inspired by: SAC_Sun2PC_mat

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!