注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

姜允志博客

Matlab VC++ 流形学习 进化算法 图像分割 目标提取 张量分解

 
 
 

日志

 
 

Matlab08  

2017-09-11 11:14:11|  分类: DataMining |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

 3、文本文件的读写操作

 1)读文本文件 

fscanf函数可以读取文本文件的内容,并按指定格式存入矩阵。

其调用格式为:  [ACOUNT]=fscanf(fidformatsize)

 说明:其中A用来存放读取的数据,COUNT返回所读取的数据元素个数,fid为文件句柄,format用来控制读取的数据格式,由%加上格式符组成,常见的格式符有:d(整型)、f(浮点型)、s(字符串型)、c(字符型)等,在%与格式符之间还可以插入附加格式说明符,如数据宽度说明等。size为可选项,决定矩阵A中数据的排列形式,它可以取下列值:N(读取N个元素到一个列向量)、inf(读取整个文件)、[MN](读数据到M×N的矩阵中,数据按列存放)。

 2)写文本文件 

fprintf函数可以将数据按指定格式写入到文本文件中。

其调用格式为:  fprintffidformatA 

说明:fid为文件句柄,指定要写入数据的文件,format是用来控制所写数据格式的格式符,与fscanf函数相同,A是用来存放数据的矩阵。

 6.9 创建一个字符矩阵并存入磁盘,再读出赋值给另一个矩阵。 

>> a='string'; 

>> fid=fopen('d:\char1.txt','w');

 >> fprintf(fid,'%s',a);

 >> fclose(fid);

 >> fid1=fopen('d:\char1.txt','rt');

 >> fid1=fopen('d:\char1.txt','rt');

 >> b=fscanf(fid1,'%s')  b =  string  

 matlabtxt文件   

fid=fopen('fx.txt','r');  %得到文件号

[f,count]=fscanf(fid,'%f %f',[12,90]);  %把文件号1的数据读到f中。其中f[12 90]的矩阵  %这里'%f %f'表示读取数据的形势,他是按原始数据型读出

fclose(fid);  %关闭文件

 另外有的txt文件还可以用load来打开  其语句为  f=load('fx.txt)  我个人觉得用第一种方式较好。因为有些时候,特别是fx.txt 的一行种有多个数据时用load  就比较麻烦了。

 

matlab如何读取含有文本的TXT数据文件并存入数组??

http://zhidao.baidu.com/question/139154026.html?fr=qrl&cid=93&index=4

有如下格式的数据文件:

  5 jhg jy jyg jh kjh jh kjh

 yuyu yu yt uyt uyt uyt uyt uyt 

fh jhg jy jyg jh kjh jh kjh 

kjh kjh 56 56 21 654 54 354 

jh jh 54 6456 654 46 5 21 

kjh kjh 12 56 54 -562 21 21 

kjh kjh 321 412 654 54 4 23 

kjh kjh 646 545 1254 54 21 1 

kjh kjh 4 545 632 1 38 32

 kjh kjh 21 3 -15 6554 55 63

 kjh kjh 21 21 1 13107 3 94

 kjh kjh 5 21 2 19660 45 125 

kjh kjh 1 3 3 26213 52423 156

 kjh kjh -639 -15 4 2 0 187

 kjh kjh -319 2 21 21 21 218

 kjh kjh 1 2 21 23 25 249

 kjh kjh 321 321 21 23 25 280

 如何才能读取该文件417行,38列的数据,并存入一个数组A中,我的数据文件为TXT文档:

clc;clear;close all;  

hang=[4 17];%4行到17行。这样你也可以变化 

lie=[3 8];%38列。这样你也可以变化   

[FileName,PathName] = uigetfile('*.txt','Select the Txt files');%弹出对话框,然后选择你要处理的文件 

fid=fopen([PathName FileName]); 

temp=textscan(fid,'%s %s %s %s %s %s %s %s'); 

fclose(fid); 

for i=1:(hang(2)-hang(1)+1)     

  for j=1:(lie(2)-lie(1)+1)        

   b=temp{j+lie(1)-1}{i+hang(1)-1};        

   A(i,j)=str2num(b);    

  end 

end

 

三维矩阵存入txt文档

我已得到matlab结果为多个三维数组(224*196*224),但是由于内存限制,故需将这些矩阵先保存到txt 文件中,当需要时再从txt文件中读取,如何将多个三维矩阵依次存入txt文件中,并读取呢。

[rows,cols,thirds]=size(A);
dlmwrite( 'd:\1.txt', A, 'delimiter', '\t','precision', 16); 
eo= dlmread('d:\1.txt');
EO=reshape(eo,rows,cols,thirds);

  评论这张
 
阅读(8)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017