关于matlab向文件写入数据的方法
来源:互联网 发布:英伦风淘宝店 编辑:程序博客网 时间:2024/05/21 17:21
MATLAB数据采集的时候,往往需要把得到的数据保存下来。
一、如果只是单纯的一个变量,可以像下面这样写。g2ggg是文件命名,txt文件(当然可以改成其他文件格式),这个是matlab自动保存在工作文件下的,baocun是我们要保存的变量。%d代表整数,、\r\n 代表每写入一次数据换行。
fid = fopen('g2ggg.xls','a');fprintf(fid,'%d \t ',baocun); fprintf(fid,'\r\n'); % 换行fclose(fid);其中:
fid = fopen('g2ggg.xls','a');这句里面的‘a’代表后续写入。这样每次重新运行程序都不会替换之前保存的数据,还是保存在之前保存过的文件夹里面,接着之前的数据继续保存。
但是如果这个地方是‘w’,则代表写入,它写一次数据都会覆盖之前的数据,最后你会发现txt文件里面只保存了一个数据。除非你在程序中定义一个矩阵,把这些数据每次存在矩阵里面,到最后一次性保存这个矩阵,这些数据才会全部保存下来,但是切记你这次保存前的那个txt文件夹会被这次这个文件夹替换,除非你这次文件夹命名和上次不同。
二、如果是保存矩阵,可像下面这样写。save_data是文件命名,txt文件,这个是matlab自动保存在工作文件下的,baocun是我们要保存的矩阵。%d代表整数,、\r\n 代表每写入一次数据换行。
fid = fopen('save_data.txt','a');[r,c]=size(baocun);for i=1:rfor j=1:cfprintf(fid,'%5f\t',baocun(i,j));endfprintf(fid,'\r\n');endfclose(fid);
其中 :
fid = fopen('save_data.txt','a');这句里面的‘a’代表后续写入。这样每次重新运行程序都不会替换之前保存的数据,还是保存在之前保存过的文件夹里面,接着之前的数据继续保存。
但是如果这个地方是‘w’,则代表写入,它每写一次数据都会覆盖之前的数据,最后你会发现txt文件里面只保存了一个数据。除非你在程序中定义一个矩阵,把这些矩阵每次存在定义的这个矩阵里面,到最后一次性保存这个矩阵,这些数据才会全部保存下来,但是切记你这次保存前的那个txt文件夹会被这次这个文件夹替换,除非你这次文件夹命名和上次不同。
三、前面两种情况都是matlab自动保存的工作路径下的,如果我们需要matlab自动保存在指定路径下怎么办呢?可以像下面这样写:
fid = fopen('C:\Users\Desktop\g2ggg.txt','a'); fprintf(fid,'%d,%d,%d \r\n ',baocun);其中
C:\Users\Desktop\代表保存路径,这里保存在电脑桌面。
四、如果需要手动输入保存路径,可以像这样写:
[FileName,PathName]=uiputfile({'*.txt','Txt Files(*.txt)';'*.xls','Excel(*.xls)';'*.*','All Files(*.*)'},'choose a File'); %% pathname获取保存数据路径, filename获取保存数据名称if ~FileNamereturn;elsestr= [PathName,FileName];fid = fopen(char(str), 'w'); % 要想存的文件名是自己输入的,这个地方就得这样写fwrite(fid, '', 'integer*4');[r,c]=size(baocun); % 得到矩阵的行数和列数 for i=1:r for j=1:c fprintf(fid,'%d\t',baocun(i,j)); end fprintf(fid,'\r\n'); endfclose(fid);一般这样都是采集完成后由手工保存的,在这里保存的是矩阵,因为矩阵里面记录了之前每次的数据,所以采集完成后,一次性保存矩阵就可以保存所有数据了,一般这段代码在GUI里面添加按钮的回调函数里面。每次按下按钮就会弹出窗口让输入文件名以及选择保存路径。
这里增加了这段代码,又修改了一小部分代码,认真看就知道了。
[FileName,PathName]=uiputfile({'*.txt','Txt Files(*.txt)';'*.xls','Excel(*.xls)';'*.*','All Files(*.*)'},'choose a File'); %% pathname获取保存数据路径, filename获取保存数据名称if ~FileNamereturn;elsestr= [PathName,FileName];fid = fopen(char(str), 'w');
五、如果有需要保存字符串数组的话:
baocun={'R','G','B','Xdata'};这个是包含字符串的数组baocun,
fid = fopen('save_data.txt','a'); fwrite(fid, '', 'integer*4'); for n=1:4 fprintf(fid,'%s\t',char(baocun{n})); % \t表示空格 end fprintf(fid,'\r\n'); %换行 fclose(fid);
很多东西都是举一反三,多动脑,多尝试,实在没办法就上网找答案,一般都能找到。
阅读全文
1 0
- 关于matlab向文件写入数据的方法
- 三种向文件写入CString数据的方法
- matlab向表单文件(xls文件)写入数据
- 向存在的文件中写入数据
- java向文件写入数据
- MATLAB向txt连续写入数据
- C#打开或者创建一个文件,然后向其末尾写入数据的方法
- C#实现向已存在的Excel文件中写入数据实例(两种方法)
- 关于向文件中写入字符串的换行问题
- 向文件中写入数据的简单操作
- VBA 向文件写入编码为UTF-8的数据
- matlab各种数据类型的文件的读取与写入方法
- 将Matlab中的矩阵写入txt文件的方法
- 将Matlab中的矩阵写入txt文件的方法
- 将Matlab中的矩阵写入txt文件的方法
- 将Matlab中的矩阵写入txt文件的方法
- MATLAB中矩阵写入txt文件的方法
- C++ 向文件中写入一组数据
- HTML+CSS
- oop和aop---个人笔记
- const在函数前与函数后的区别
- notices
- Python循环读取文件目录树
- 关于matlab向文件写入数据的方法
- Linux文件结构
- 字符集(Charcater Set)与字符编码(Encoding)
- sorl-list
- java JSON操作
- 每天进步一点点——五分钟理解一致性哈希算法(consistent hashing)
- 使用HttpClient登录微博开放平台,获取授权code
- OpenSSL
- android 进程保活