MATLAB Application Program Interface Reference | Help Desk |
matPutMatrix
WritesmxArrays
into MAT-files
integer*4 function matPutMatrix(mfp, mp) integer*4 mp, mfp
mfp
Pointer to MAT-file information.
mp
This routine allows you to put an mxArray
into a MAT-file.
matPutMatrix
writes mxArray
mp
to the MAT-file mfp
. If the mxArray
does not exist in the MAT-file, it is appended to the end. If an mxArray
with the same name already exists in the file, the existing mxArray
is replaced with the new mxArray
by rewriting the file. The size of the new mxArray
can be different than the existing mxArray
.
matPutMatrix
returns 0 if successful and nonzero if an error occurs.
Be careful in your code to free the mxArray
created by this routine when you are finished with it.
Write a simple 3-by-2 real mxArray
into a MAT-file. Name the mxArray
A
and the MAT-file foo.mat
.
program main integer matOpen, mxCreateFull, matClose integer mxGetPr, matPutMatrix integer a, mfp, stat double precision Areal(6) data Areal / 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 / c mfp = matOpen('foo.mat','w') a = mxCreateFull(3, 2, 0) call mxCopyReal8ToPtr(Areal, mxGetPr(a), 6) call mxSetName(a,'A') stat = matPutMatrix(mfp,a) stat = matClose(mfp) call mxFreeMatrix(a) c stop endTo test, run this program; then go to MATLAB and enter:
load foo A A = 1 4 2 5 3 6See
matdemo1.f
in the eng_mat
subdirectory of the examples
directory for another sample program that illustrates how to use this MAT-file routine in a Fortran program.
Note: Fortran MAT-file routines are not available on Windows.