将C/C++程序的变量数据导入到MATLAB中的方法
2023-09-11 14:15:39 时间
在阅读这篇博文前,请大家先阅读我的上一篇博文,因为这篇博文的思路来自于我的上一篇博文,链接如下:
https://blog.csdn.net/wenhao_ir/article/details/51007255
下面直接说将C/C++程序的变量数据导入到MATLAB中的方法:
先上VC导出变量数据的代码:
#include <fstream>
using namespace std;
int main()
{ int a[6]={1,2,3,4,5,6};//注意:这里的类型一定要是int,如果设为char那用ocout<<a[i]输出来的全是字符!
unsigned char i;
ofstream ocout;
ocout.open("123.txt");
for(i=0;i<6;i++)
{
ocout<<a[i];
ocout<<" ";
}
ocout.close();
return 0;
}
很简单吧~
运行结果是:
123.txt中的内容为:
1 2 3 4 5 6
所以从VC中导出数据是很简单的,接下来说怎样把变量数据导入到MATLAB中。
在这里,我们想利用从C/C++程序中导出的数据生成下面的矩阵:
1 2 3
4 5 6
源码如下:
%此程序用于学习如何把C++的变量数据导入到MATLAB中
%作者微信/QQ 2487872782
%有问题可以联系作者交流
fid=fopen('F:\material\data\123.txt','r');
[C1,count]=fscanf(fid,'%d',[3,2]);
C2=C1';%C2是C1的转置矩阵
fclose(fid);
上面的代码中,
为什么我们不把函数fscanf()的第三个参数直接写成[2,3]呢?
又为什么最终我们需要的矩阵C2要经C1转置得到呢?
这是因为MATLAB不管是导出矩阵到向量还是由向量导入矩阵,都是按列来进行的,即按从上到下,从左到右的顺序进行导出或填充的!
如果不明白这句话,大家看下C1和C2的内容截图就知道了。
值得注意的是,得到矩阵后,默认的是double类型,我们还应该根据我们的需要对矩阵的数据类型进行强制类型转换!比如C2=uint8(C2);这样的强制类型转换语句!
相关文章
- C++ 函数特性_参数默认值
- 【MATLAB教程案例96】基于GA优化的WSN最大覆盖率和最少节点部署数量matlab仿真
- 【MATLAB教程案例92】基于parfor的matlab并行运行机制
- 【MATLAB教程案例85】通过matlab实现有限差分法求解微分方程
- 【MATLAB教程案例80】matlab在大学数学中的应用——高等数学
- 【MATLAB教程案例64】深度学习网络建模1,通过matlab编程实现
- 【MATLAB教程案例59】使用matlab实现基于LSTM网络的数据分类预测功能与仿真分析
- 【MATLAB教程案例49】三维点云数据ICP配准算法的matlab仿真学习
- 【MATLAB教程案例38】语音信号的去噪方法matlab仿真学习——LMS自适应滤波,谱减法去噪滤波及维纳滤波等
- 【MATLAB教程案例31】基于matlab的人脸检测相关算法的仿真与分析——肤色模型与形态学图像处理方法
- 【MATLAB教程案例26】图像特征点提取算法matlab仿真与分析——sift,surf,kaze,corner,BRISK等
- 【MATLAB教程案例6】基于Costas环的载波同步matlab仿真
- C++下批量读取名字无规则的图片文件的示例代码(利用类WIN32_FIND_DATA实现)
- C/C++的“文件包含”处理探究
- 【Matlab小问题】matlab启动时出现Warning: Name is nonexistent or not a directory
- C++中this指针的用法详解
- 《C++入门经典(第6版)》导读
- 《数字图像处理与机器视觉——Visual C++与Matlab实现(第2版)》——第 1 章 MATLAB数字图像处理编程基础2.1 MATLAB R2011a简介
- C/C++ VS中调用matlab函数的方法
- 【Matlab 六自由度机器人】运动学逆解(附MATLAB机器人逆解代码)
- 【Matlab 六自由度机器人】基于蒙特卡罗方法(Monte Carlo Method)构建机器人工作空间(附MATLAB建模仿真完整代码)
- 【Matlab算法】粒子群算法求解一维线性函数问题(附MATLAB代码)
- Ubuntu16.04下Tensorflow C++编译并调用pb文件(一)
- segment and section for c++ elf
- C++:类(一)—— 基本概念
- 如何分析和提高大型项目(C/C++)的编译速度?(VS2015特有的:/LTCG:incremental选项)
- C/C++跨平台的的预编译宏
- 92、【树与二叉树】leetcode ——111. 二叉树的最小深度:层次遍历+先序DFS+后序DFS[子问题分解](C++版本)
- C++写动态站点之HelloWorld!
- C++中父类的虚函数必需要实现吗?
- WindowsclientC/C++编程规范“建议”——函数
- C++ : cin.get()函数和cin函数的使用
- C/C++教程 第五章 —— 制作推箱子游戏