永发信息网

用c语言编写的读取mat文件(matlab矩阵)的程序,有错,求帮助

答案:3  悬赏:20  手机版
解决时间 2021-04-05 01:00
用c语言编写的读取mat文件(matlab矩阵)的程序,有错,求帮助
最佳答案
#include
#include "math.h"//少了个h
#include "string.h"
//下面的一些定义没有,没办法改了
void main()
{
MATFile *pmat_r,*pmat_w;
mxArray *pa_r,*pa_w;
double A_data[9];
int i,j,status,M,N;
const char *file="by.mat";
double *dou;
for(i=0;i<9;i++)
{
A_data[i]=i+1;
}
pmat_w = matOpen(file,"w");
if(pmat_w==NULL)
{
printf("创建文件错误 %s\n",file);
}
pa_w = mxCreateDoubleMatrix(3,3,mxREAL);
memcpy((void*)(mxGetPr(pa_w)),(void*)A_data,sizeof(A_data));
status = matPutVariable(pmat_w,"A",pa_w);
mxDestroyArray(pa_w);
if(matClose(pmat_w))
{
printf("关闭文件错误 %s",file);
}
pmat_r = matOpen(file,"r");
pa_r = matGetVariable(pmat_r,"A");
dou = mxGetPr(pa_r);
M = mxGetM(pa_r);
N = mxGetN(pa_r);
for(i = 0;i < M;i++)
{
for(j = 0;j < N;j++)
{
printf("%3.0f ",*dou);
dou++;
}
printf("\n");
}
mxDestroyArray(pa_r);
matClose(pmat_r);
printf("测试完毕!!!");
getchar();
}追问你错了,mat.h是matlab的一个头文件,不是math,h写错追答这个不是C语言吗?怎么是matlab啊?matlab我记得不是这样的啊哪有什么printf的函数啊?追问matlab生成的矩阵文件后缀是.mat。现在我要用c语言编写一个程序,来读取.mat文件中的信息
全部回答
看不懂
从错误提示上,就是两个变量未定义导致的链接错误
你先搜索整个工程,error提示中的两个变量在哪里用到
另外,也有可能是 include导入的头文件问题
比如没导入必要的库
或者是导入的库有问题
看你这段代码没有这两个变量,可能是其他文件或者使用的库的问题
导入的库也有依赖关系,使用前应该看看使用说明吧
还有其他可能就是,本机的环境变量设定的问题
信息不够,暂时只能帮你分析到这里
如果还有疑问,加QQ 11302106,把代码传过来,帮你解决
另外,验证的时候要写清楚 请求的原因
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
卡西欧 AQ-160怎么调整时间
经营计划怎么写?
微小v手机怎么样?
电脑屏幕小怎么放大
衬衫太肥了.可以自己改吗
我在英国学习了多门课程,包括英语写作,英国
东方幼儿园(六盘水六枝特区)地址有知道的么?
财付通怎么修改限额,财付通怎么修改限额
目前我国一些地方在选举过程中,出现了一些不
为什么加热后磁铁磁性消失
E300l油耗多少 我的怎么12.3个油
经期劈叉会导致处女膜破裂吗
新郎在婚礼上如何致辞(简短,利落,不冷场)
三星W2014电池耐用吗,手机质量怎么样啊?
青海的拉面为什么要打兰州的名
推荐资讯
★★怎么办?射频加热和电磁感应加热的区别,
狗狗身上有跳蚤怎么办,人身上有了跳蚤怎么办
QQ超市神秘重置卡怎么用
郭晋安和贾青两人有一场雨中热吻戏
说女的漂亮的句子,形容女子非常好看的句子
工厂建设宿舍楼,工厂作为建设单位,那建设单
新浪微博举报别人他知道是我举报的么
灵隐寺最出名的诗句,形容灵隐寺的诗句
狗狗退毛会变色吗?若会变是根据什么变得?
平行四边形ABCD的周长是18,三角形ABC的周长
已知1*3=1*2*3,4*5=4*5*6*7*8,试计算6*4除以3
大庆二十八中怎么样??
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?