| 外部インタフェース/API リファレンス | ![]() |
Fortran 言語表示
integer*4 function matPutFull(mfp, name, m, n, pr, pi) integer*4 mfp, m, n, pr, pi character*(*) name
name
mxArray名。
m
n
pr
pi
詳細
ほとんどのMATLABアプリケーションは、フル(非スパース)mxArrayについてのみ動作します。このルーチンは、フルmxArrayをMAT-ファイルに書き出すための簡単な方法を提供しています。これは、matPutMatrixの代わりであり、mxArray構造体の利用を必要としません。
matPutFullは、大きさがm行n列で、実数データpr、虚数データpiのmxArrayを、指定した名前でMAT-ファイルmfpに書き出します。
mxArrayがMAT-ファイルに存在しない場合は、最後に付け加えられます。同じ名前のmxArrayがファイルに既に存在する場合は、既存のmxArrayはファイルを書き直すことによって新たなmxArrayで置き換えられます。
例題
MAT-ファイルからmxArray Aを読み込み、別のMAT-ファイルに書き出します。
program main
integer matOpen,matClose,matPutFull,matGetFull
integer mf1, mf2, stat
integer m, n, pr, pi
mf1 = matOpen('foo.mat','r')
mf2 = matOpen('foo2.mat','w')
stat = matGetFull(mf1,'A',m,n,pr,pi)
stat = matPutFull(mf2,'A',m,n,pr,pi)
stat = matClose(mf1)
stat = matClose(mf2)
c
stop
end
簡単な実数のmxArrayをMAT-ファイルに書き出します。mxArrayにAと、MAT-ファイルにfoo.matと名前を付けます。
integer matOpen, matClose, matPutFull
integer mfp, stat
double precision Areal(6)
data Areal / 1.0, 2.0, 3.0, 4.0, 5.0, 6.0 /
data Aimag / 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 /
c
mfp = matOpen('foo.mat','w')
stat = matPutFull(mfp,'A',3,2,Areal,Aimag)
stat = matClose(mfp)
c
stop
end
テストを行うため、2番目の例を実行します。その後MATLABで以下のように入力します。
load foo
A
A =
1 4
2 5
3 6
| matOpen | matPutMatrix | ![]() |