我是靠谱客的博主 无辜石头,最近开发中收集的这篇文章主要介绍c 与传递数据MATLAB,C与MATLAB的数据交互——通过记事本,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

最近正在做一个项目,源码使用C编写的,但是产生的数据需要画图,于是想到了MATLAB。

之前对MATLAB有一点了解,知道他可以和C/C++混合编程。但是上网一搜教程,显然已经超出了我的理解范围~

由于我仅仅是想用MATLAB画个图,于是我找到了一种更简单的方法——通过记事本进行数据交互。流程很简单:​在C编写的源程序中输出数据到文本文件,再通过MATLAB读取这个文件,然后绘图。

具体过程如下:

​1. 输出数据到文本文件

​简单的文件输入输出遵循以下几个步骤:

1. 打开文件

2. 写入/读取数据

3. 关闭文件​

这里以写入文件为例说明:

打开文件

FILE*

fp;​

//指向文件的指针

fp =

fopen("G:\MATLAB\data.txt",

"w");

//绑定文件

fopen用于大家一个文件,第一个参数是文件的名称,可以指定相应的目录,我让data.txt产生在G盘的MATLAB目录下。如果不指定目录,文件自动产生在程序运行目录中。第二个参数指定读写方式,“w"表示写。注意,这种方式下,每次写入新数据原来的数据就会被覆盖掉。

写入数据

​写入数据也有多种方法,主要分格式化写入和非格式化写入。非格式化写入可以使用fputc/putc:

putc('n',

fp);​

//向文件中写入一个换行符

​格式化写入可以用fprintf:

fprintf(fp, "%dn",

num);​

//向文件中写入一个十进制数据和一个换行符

​关闭文件

fclose(fp);​

​完成以上几步后你已经可以在你指定的目录下找到data.txt文件了

2. 用MATLAB读取数据

​用MATLAB读取文本文件数据最简单的方法是使用load函数

load('data.txt');

​上面的命令读取data.txt中的内容,产生一个数组,数组的名字就是文件名。

其他方法可查阅文档。

3. 绘图

​绘图可以说是MATLAB最基本的功能之一了。绘图最常用的命令是plot,用来绘制二维曲线图:

x =

linspace(0,2*pi,100);

y =

sin(x);​

figure

plot(x,y)

​linspace函数产生一维线性向量(数组),上式中产生0~2π之间的等距结点,一共100个。如果没有第三个参数的话,默认为100个。figure命令用来产生一幅新的图像,如果没有这个命令的话之前绘制的图像(未保存)会被清空。

如果要在一幅图上绘制多条曲线,可以使用:

plot(x,y1,x,y2)​

​添加标题、横纵坐标的标签、图例:

title('Graph of

Sine and Cosine Between -2pi and

2pi')​

xlabel('-2pi

< x < 2pi') % x-axis

label

ylabel('sine and cosine

values') % y-axis label

legend('y =

sin(x)','y = cos(x)')

最后

以上就是无辜石头为你收集整理的c 与传递数据MATLAB,C与MATLAB的数据交互——通过记事本的全部内容,希望文章能够帮你解决c 与传递数据MATLAB,C与MATLAB的数据交互——通过记事本所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(67)

评论列表共有 0 条评论

立即
投稿
返回
顶部