File Exchange

image thumbnail


version 1.1 (8.66 KB) by

Read SAC files directly into MATLAB data structures.



View License

* Note that SACPC2MAT word 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.

Comments and Ratings (3)

nadav wetzler


It was nice just one thing and it s the " out of memory error" when input is a large size .SAC file.

Cy Webster



Include sacpc2mat for PC byte order

MATLAB Release
MATLAB 5.3 (R11)

Inspired by: SAC_Sun2PC_mat

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video