正在加载图片...
China-bub.com 第15章ATLAB与其他编程语言结合 313 下载 使用,但是它们还存在,以便MATLAB5能向下兼容。 命令集185 C中旧的矩阵程序 mxCreateFull mxIsFull mxIsstring mxFreeMatrix 15.2.2C中对MAT文件的处理 下面的例子说明了如何写和读一个MAT文件,也就是MATLAB以内部二进制格式存储的 数据文件。 ■例15.1 假设C程序中要用到一个服从正态分布的随机矩阵。这个简单的矩阵在C程序中生成很困 难,但是在MATLAB中只需用一个命令。先定义一个10×10的服从正态分布的矩阵,并用 save命令保存: oldMatrix=randn(10); 号创建一个随机矩阵 save data oldMatrix;号保存这个矩阵到文件data.mat中 再编写一个C程序,用来读这个随机矩阵。矩阵的所有元素乘以2,并生成一个新矩阵保 存到文件data.mat中。C程序保存在文件matex.c中。 #include "mat.h" void main() MATFile *mfp; mxArray *A_ptr,*B_ptr; double *A,*B; int M,N,i,j; 体从文件中读矩阵*/ mfp =matOpen("data.mat","u"); A_ptr matGetArray(mfp,"OldMatrix"); M mxGetM(A_ptr) N mxGetN(A_ptr); A mxGetPr(A_ptr); 体创建新矩阵* B_ptr mxCreateDoubleMatrix(M,N,mxREAL); mxSetName(B_ptr,"NewMatrix"); B mxGetPr(B_ptr); 体将原矩阵乘以2后保存到新矩阵中*/ for (i =0;i M;i++) for (j=0;j<N;j++) B[i+M*j]=2*A[i+M*j门;使用,但是它们还存在,以便 M ATLAB 5能向下兼容。 命令集1 8 5 C中旧的矩阵程序 mxCreateFull mxIsFull mxIsString mxFreeMatrix 15.2.2 C中对M AT文件的处理 下面的例子说明了如何写和读一个 M AT文件,也就是M AT L A B以内部二进制格式存储的 数据文件。 ■ 例1 5 . 1 假设C程序中要用到一个服从正态分布的随机矩阵。这个简单的矩阵在 C程序中生成很困 难,但是在 M AT L A B中只需用一个命令。先定义一个 1 0×1 0的服从正态分布的矩阵,并用 s a v e命令保存: O l d M a t r i x = r a n d n ( 1 0 ) ; % 创建一个随机矩阵 save data OldMatrix; % 保存这个矩阵到文件d a t a . m a t中 再编写一个C程序,用来读这个随机矩阵。矩阵的所有元素乘以 2,并生成一个新矩阵保 存到文件d a t a . m a t中。C程序保存在文件m a t e x . c中。 第1 5章 M AT L A B与其他编程语言结合 3 1 3 下载 /*从文件中读矩阵*/ /*创建新矩阵*/ /*将原矩阵乘以2后保存到新矩阵中*/
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有