matlab 中txt文件(含字符及數值)處理

matlab?中txt文件(含字符及數值)處理

?(2008-08-02 09:45:12)
轉載
標簽:?

雜談

分類:?matlab及C學習
Matlab文件操作及讀txt文件ZZ
2008-07-11 16:43

matlab文件操作

文件操作是一種重要的輸入輸出方式,即從數據文件讀取數據或將結果寫入數據文件。MATLAB提供了一系列低層輸入輸出函數,專門用于文件操作。
1、文件的打開與關閉
1)打開文件
在讀寫文件之前,必須先用fopen函數打開或創建文件,并指定對該文件進行的操作方式。fopen函數的調用格式為:
fid=fopen(文件名,‘打開方式’)
說明:其中fid用于存儲文件句柄值,如果返回的句柄值大于0,則說明文件打開成功。文件名用字符串形式,表示待打開的數據文件。常見的打開方式如下:
? ‘r’:只讀方式打開文件(默認的方式),該文件必須已存在。
? ‘r+’:讀寫方式打開文件,打開后先讀后寫。該文件必須已存在。
? ‘w’:打開后寫入數據。該文件已存在則更新;不存在則創建。
? ‘w+’:讀寫方式打開文件。先讀后寫。該文件已存在則更新;不存在則創建。
? ‘a’:在打開的文件末端添加數據。文件不存在則創建。
? ‘a+’:打開文件后,先讀入數據再添加數據。文件不存在則創建。
另外,在這些字符串后添加一個“t”,如‘rt’或‘wt+’,則將該文件以文本方式打開;如果添加的是“b”,則以二進制格式打開,這也是fopen函數默認的打開方式。
2)關閉文件
文件在進行完讀、寫等操作后,應及時關閉,以免數據丟失。關閉文件用fclose函數,調用格式為:
sta=fclose(fid)
說明:該函數關閉fid所表示的文件。sta表示關閉文件操作的返回代碼,若關閉成功,返回0,否則返回-1。如果要關閉所有已打開的文件用fclose(‘all’)。
2、二進制文件的讀寫操作
1)寫二進制文件
fwrite函數按照指定的數據精度將矩陣中的元素寫入到文件中。其調用格式為:
COUNT=fwrite(fid,A,precision)
說明:其中COUNT返回所寫的數據元素個數(可缺省),fid為文件句柄,A用來存放寫入文件的數據,precision代表數據精度,常用的數據精度有:char、uchar、int、long、float、double等。缺省數據精度為uchar,即無符號字符格式。
例6.8 將一個二進制矩陣存入磁盤文件中。
>> a=[1 2 3 4 5 6 7 8 9];
>> fid=fopen('d:\test.bin','wb') %以二進制數據寫入方式打開文件
fid =
3 %其值大于0,表示打開成功
>> fwrite(fid,a,'double')
ans =
9 %表示寫入了9個數據
>> fclose(fid)
ans =
0 %表示關閉成功
2)讀二進制文件
fread函數可以讀取二進制文件的數據,并將數據存入矩陣。其調用格式為:
[A,COUNT]=fread(fid,size,precision)
說明:其中A是用于存放讀取數據的矩陣、COUNT是返回所讀取的數據元素個數、fid為文件句柄、size為可選項,若不選用則讀取整個文件內容;若選用則它的值可以是下列值:N(讀取N個元素到一個列向量)、inf(讀取整個文件)、[M,N](讀數據到M×N的矩陣中,數據按列存放)。precision用于控制所寫數據的精度,其形式與fwrite函數相同。
3、文本文件的讀寫操作
1)讀文本文件
fscanf函數可以讀取文本文件的內容,并按指定格式存入矩陣。其調用格式為:
[A,COUNT]=fscanf(fid,format,size)
說明:其中A用來存放讀取的數據,COUNT返回所讀取的數據元素個數,fid為文件句柄,format用來控制讀取的數據格式,由%加上格式符組成,常見的格式符有:d(整型)、f(浮點型)、s(字符串型)、c(字符型)等,在%與格式符之間還可以插入附加格式說明符,如數據寬度說明等。size為可選項,決定矩陣A中數據的排列形式,它可以取下列值:N(讀取N個元素到一個列向量)、inf(讀取整個文件)、[M,N](讀數據到M×N的矩陣中,數據按列存放)。
2)寫文本文件
fprintf函數可以將數據按指定格式寫入到文本文件中。其調用格式為:
fprintf(fid,format,A)
說明: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

matlab讀txt文件

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
就比較麻煩了。

另外,還可以使用a=importdata('data.txt').

轉載于:https://www.cnblogs.com/Lxiaojiang/p/3873130.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處:https://dhexx.cn/hk/18295.html

如若內容造成侵權/違法違規/事實不符,請聯系我的編程經驗分享網進行投訴反饋,一經查實,立即刪除!


相關文章:

  • SPARK-SQL - groupBy分組聚合相關的api,pivot實現行轉列
  • 輕松搞懂Java中的自旋鎖
  • SPARK-SQL - join關聯的api
  • NetworkManager 命令配置nmcli注意
  • HDU 4662 MU Puzzle 數論或者水題
  • Linux服務器使用Scp命令將數據拉取和接收到遠程服務器
  • C# 窗體間傳值方法大匯總
  • 第三方過濾器在TVideoGrabber中的使用
  • java獲取系統變量之System.getenv()和System.getProperty()
  • Jmeter壓測工具入門測試使用
  • [轉]Android讀寫文件
  • 一些食物的酸堿性
  • Spark Streaming入門 - 從Socket接收數據 實現wordCount統計單詞個數
  • Linux下使用Crontab定時執行腳本及多種案例
  • 怎樣安裝和制作淘寶店鋪裝修掛件
  • jdbcTemplate的學習經歷
  • Java正則表達式入門學習與實踐
  • Java:集合,Collection接口框架圖
  • Spark Streaming入門-編程入口JavaStreamingContext的實例化,構造方法匯總
  • IOS-synthesize和dynamic的異同(轉)
  • V8 API Reference Guide
  • Hadoop的內置的基本數據類型
  • Java中String的replace、replaceAll和replaceFirst方法
  • 【數據庫復習】第二章關系數據庫2
  • GhostDoc的使用
  • HDU 4870Rating(推公式)
  • spark常用RDD算子 - saveAsTextFile、saveAsObjectFile 可保存到本地文件或hdfs系統中
  • Linux服務器編輯jar包并重新運行與直接修改jar包
  • hdu 4686 Arc of Dream(矩陣快速冪)
  • 糾結的CLI C++與Native C++的交互
  • kafka概述,架構說明,相關的名詞解釋
  • JAVA基礎知識
  • 棧Stack和段寄存器SS,SP(學習匯編)
  • 【轉載】Linux下動態共享庫加載時的搜索路徑詳解
  • Linux下打包和解壓zip文件
  • kafka四大核心api
  • java List的用法
  • 抽象數據類型的表示與實現
  • kafka工作流程分析-生產過程
  • 事務隔離級別和MVCC的關系
  • Windows 下c獲取文件目錄
  • LeetCode--Max Points on a Line
  • kafka工作流程分析-Broker保存消息
  • MS SQL Server時間常用函數
  • ThreadLocal簡介
  • Repeater分頁
  • kafka工作流程分析-消費過程分析
  • 模仿易信的UI
  • java中volatile關鍵字的作用
  • 安裝VC6.0遇到的問題