| MATLAB Application Program Interface | Search  Help Desk |
| matPutMatrix | Examples |
Writes mxArrays into MAT-files
integer*4 function matPutMatrix(mfp, mp) integer*4 mp, mfp
mfp
mp
mxArray pointer.
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
end
To test, run this program; then go to MATLAB and enter:
load foo
A
A =
1 4
2 5
3 6
See 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.