matlab讀取任意格式的文字檔案

2021-09-29 17:44:39 字數 1190 閱讀 4785

有些時候,我們需要用matlab讀取自定義格式的文字檔案。比如有這樣乙個資料 families.txt:

bob,32,father;alice,31,mother;mike,4,son;jonh,7,son

dick,30,father;judy,30,mother;sophia,6,daughter

這個文字資料統計了兩個家庭的成員,每一行代表乙個家庭,家庭的成員用 分號(;) 隔開,每個成員包含了名字、年齡和角色資訊,用逗號(,)隔開。因為每個家庭的成員是不一樣多的,因此每一行的資料也不一樣多。

解析這個格式的思路如下:

1. 利用 fgetl 函式獲取一行文字;

2. 利用 strsplit 函式分割字串;

3. 將資料儲存到結構體中,還可以用 num2str 將年齡轉換為數字。

fid = fopen('families.txt');

tline = fgetl(fid);

families = ;

family_count = 0;

while tline ~= -1

strs = strsplit(tline, ';'); % 成員之間用分號分割

num = length(strs);

members = ;

for i = 1:num

memberstr = strsplit(strs, ','); % 成員資訊用逗號分割

member.name = memberstr;

member.age = memberstr;

member.role = memberstr;

members = member;

endfamily_count = family_count + 1;

families = members;

end

這樣,所有成員的資訊被讀入乙個families的cell陣列中

families =

1×2 cell 陣列

families =

1×4 cell 陣列

families =

包含以下欄位的 struct:

name: 'bob'

age: '32'

role: 'father'

讀取siftgeo格式檔案的matlab程式

this function reads a siftgeo binary file 讀取siftgeo格式的二進位制檔案 usage v,meta siftgeo read filename,maxdes filename the input filename maxdes maximum numb...

Matlab程式設計計算任意階精度的離散格式係數

離散格式的任意階導數,只要精度和點數確定後。對應各點的係數可以通過taylor展開待定係數法計算得到。個人構造一些格式時,常常手動展開,計算係數的程式也已經寫過很多次。這裡乾脆掛在網上,避免每次使用的時候都得找半天甚至重寫。當前格式我們只實現了最一般情形下的離散係數計算,緊緻格式係數的計算和重構係數...

hadoop讀取文字格式的問題(讀取快取檔案)

定義快取檔案 01 小公尺 02 華為 03 格力 檔名pd.txt driver 裡面新增快取資料夾路徑 job.addcachefile new uri file c gao pd.txt mappdmap new hashmap override protected void setup co...