matlab:Excel数据导入C程序中
来源:互联网 发布:宁波楼盘每日成交数据 编辑:程序博客网 时间:2024/04/28 15:12
前言
在上一篇文章中《matlab:Excel文件数据的导入及导出》,我说明了如何将Excel数据导入到matlab,但是习惯了C编程的我使用matlab并不是那么顺手,所以希望把Excel的数据导入到C程序中,这样就方便我们编程了。
实现
我百度了一段时间,想找找能不能直接将Excel的数据导入到C程序中,但是并没有找到,可能是我百度的能力还有待提高,翻了翻matlab教程的数据,我找到一种方法,以matlab作为中介,把Excel数据导入到C程序中。
在matlab中可以把数据导出到二进制文件,而C语言是可以读取二进制文件的,这样我们就可以把Excel的数据导入到C语言中了。思路就是这样,下面是实现的代码。
我们先把Excel的数据导入到matlab中,然后执行下面的命令,就可以将数据导出为二进制文件。
fid = fopen('data.bin','w');s = fwrite(fid,A,'integer*4');fclose(fid);
矩阵A的数据:
因为矩阵A里面保存的是整数,所以是’integer*4’。
但是要注意的是:因为matlab是以列优先存储的,而C语言是行优先存储,所以我们在使用matlab导出二进制文件之前,需要先将矩阵A进行转置,然后再导入,这样C程序读取的时候才能是正确的结果。
转置命令:A = A’
接下来就是C程序的读取了。
我们把生成的data.bin文件放在C程序的目录,接下来就直接上代码了。
#include<iostream>using namespace std;#include<fstream>int main(){ FILE *fp; int d[6][5]; if(fp=fopen("data.bin","rb")) { for(int i=0;i<6;i++) { fread(&d[i][0],sizeof(int),5,fp); } } for(int i=0;i<6;i++) { for(int j=0;j<5;j++) cout<<d[i][j]<<" "; cout<<endl; } return 0;}
这个就是关键操作了,每次读取5个数据放在数组d的每一行中,读取6此就是全部的数据了。
for(int i=0;i<6;i++){ fread(&d[i][0],sizeof(int),5,fp);}
下面是程序运行的结果:
小结
使用matlab作为中介就可以使C程序去读取Excel的数据,因为我不太会matlab编程,所以只能这样去操作了,如果擅长matlab编程的朋友,这样方法就没什么作用了。
0 0
- matlab:Excel数据导入C程序中
- excel 数据导入程序(C#)
- 如何将Excel数据导入MATLAB中
- matlab中如何导入excel数据
- matlab导入excel数据
- (C#)excel数据导入SqlServer中
- 将excel表中的数据导入到matlab中
- 将excel中的数据导入到matlab中
- 如何在java程序中导入excel数据
- matlab和excel数据的导入
- matlab 和 excel 数据的导入导出
- matlab中用导入的Excel数据画图
- Matlab导入excel数据-剔除空值
- Excel数据导入(C#)
- C#Winform 将DataGridView中的数据导入到Excel中
- Matlab中使用Excel数据
- matlab 处理excel中数据
- Matlab 读取excel中数据
- No enclosing instance of type WallpaperService is available due to some intermediate constructor inv
- 黑马程序员——java复习总结——泛型和Map
- 用CSS实现层的垂直居中
- android 安装目录介绍
- caffe util 函数介绍
- matlab:Excel数据导入C程序中
- css3的Background新属性
- mysql 视图、存储过程和函数
- ZOJ 1082 Stockbroker Grapevine
- 普通table表格样式及代码大全(全)
- filter如何设置例外的请求
- 算法思想篇(6)————试探算法
- Unity AssetBundle爬坑手记
- Python中文编码问题