C++创建和调用matlab的MAT文件.docx_第1页
C++创建和调用matlab的MAT文件.docx_第2页
C++创建和调用matlab的MAT文件.docx_第3页
C++创建和调用matlab的MAT文件.docx_第4页
C++创建和调用matlab的MAT文件.docx_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C+创建和调用MATALB的MAT文件所用软硬件平台:VS2008 sp1 matlab 2009b ,32位PC,XP系统所用程序/创建一个.mat文件,并在里面存储一个double型变量,并赋值初值#include #include /* For strcmp() */#include /* For EXIT_FAILURE, EXIT_SUCCESS */#include mat.husing namespace std;int main() mxArray *pa1;double data1=3.141592653;MATFile *pmat;/定义一个MAT文件指针const char*file=VS_MAT.mat;coutCreating file file.endlendl;pmat=matOpen(file,w);/打开或创建一个MAT文件if(pmat=NULL)cout创建失败endl;return(EXIT_FAILURE);pa1=mxCreateDoubleMatrix(1,1,mxREAL);/mxREAL表示创建一个实数的*1的arrayif(pa1=NULL)cout创建失败endl;return(EXIT_FAILURE);/初始化变量pa1;向MAT文件中写入变量pa1,并命名为a;memcpy( (void*)(mxGetPr(pa1),(void*)data,sizeof(data);/mxGetPr与mxGetPi分别是得到double类型 /array的实部指针和虚部指针的APIint status;status=matPutVariable(pmat,a,pa1);/向MAT文件中写入变量pa1,并命名为a;if(status!=0)cout赋值失败endl;return(EXIT_FAILURE); /清除矩阵mxDestroyArray(pa1);/关闭MAT文件if(matClose(pmat)!=0)cout关闭mat文件失败endl;return(EXIT_FAILURE);/*/ /对VS_MAT.mat 中变量a 读取,并进行运算,后存储pmat=matOpen(file,u);/关键,u:表示读写方式打开,r,只读,我,只写,if(pmat=NULL)cout打开mat文件失败endl;return EXIT_FAILURE;/在VS_MAT.mat中读取变量apa1=matGetVariable(pmat,a);if(pa1=NULL)cout读取变量失败endl;return EXIT_FAILURE;/对a运算,平方 memcpy( (void*)data,(void*)mxGetPr(pa1),sizeof(data);data0=data0*data0; /?memcpy( (void*)mxGetPr(pa1),(void*)data,sizeof(data);status=matPutVariable(pmat,a,pa1);/向MAT文件中写入变量pa1,并命名为a;if(status!=0)cout赋值失败endl;return(EXIT_FAILURE); /清除矩阵mxDestroyArray(pa1);/关闭MAT文件if(matClose(pmat)!=0)cout关闭mat文件失败endl;return(EXIT_FAILURE);coutpress any key to continue(右击)属性-高级-环境变量-新建变量名:Path变量值:D:Program FilesMATLABR2009bbinwin32如果以上设置完成后,运行仍报错,可以尝试将VS2008关掉再启动,我就是这样,环境变量设置好后,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论