File Exchange

image thumbnail

sacsun2mat/sacpc2ma​t

version 1.1 (8.66 KB) by

Read SAC files directly into MATLAB data structures.

7 Downloads

Updated

View License

* Note that SACPC2MAT word on little-endian machines (Linux and Windows PCs) and SACSUN2MAT is for big-endian machines like SUNs.
[SACdata,SeisData,filenames]=SACPC2MAT('file1','file2',...,'filen')
[SACdata,SeisData,filenames]=SACSUN2MAT('file1','file2',...,'filen')

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

 [SACdata,SeisData]=sacpc2mat('file1','file2',...,'filen')

is equivalent to the following sequence

sac2000
READ file1 file2 .. filen
MAT
(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

SEPIDEH RASTIN

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

Cy Webster

Updates

1.1

Include sacpc2mat for PC byte order

MATLAB Release
MATLAB 5.3 (R11)
Acknowledgements

Inspired by: SAC_Sun2PC_mat

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

» Watch video