MATLAB中是数组保存为二进制文件

MATLAB中是数组保存为二进制文件,第1张

1.matlab:

fid=fopen("bif.bin","wb")

fwrite(fid,A','double')%A是矩阵,double是保存文件的数据类型。A'是A的转置,原因是,在matlab中数据是按列存放,c中是按行。所以在matlab中应先进行转置,这样

%到c中读出的数据才是正确的。

2.c:

(1)c中使用fopen,读取到二维数组中

int num_read = fread(buf, 1, length, fp)

不行,一般的教学C语言 比如是 tc2 broland C++ 4.0-

不支持1M 以上的内存,

用windows下面的 c++ 吧,我用的vc2008 呵呵(从5.0用到现在有感情了)

下面是例子

#include "windows.h"

#include "Winbase.h"

int _tmain(int argc, _TCHAR* argv[])

{

int *lpMem = (int *) VirtualAlloc(NULL,sizeof(int)*14100025,MEM_COMMIT,PAGE_READWRITE)

if(lpMem!=NULL)

{

//在这里

for(int c = 0 c<14100025c++ )

{

lpMem[c] = c

}

VirtualFree(lpMem,sizeof(int)*14100025,MEM_RELEASE)

}

printf("-------------------")

return 0

}

最简单的的使用save函数 如下 *** 作

>>a=[1 2 3 4 5 6]

a =

1 2 3 4 5 6

>>save a.dat a

此时在当前路径下就会生一个二进制文件a.dat,二进制文件使用txt打开时乱码的,但是可以使用Matlab的fread和load都可以重新读入

另外如果不觉得麻烦的话可以使用fopen和fwrite组合,将数据写入文件


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11759891.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存