有些時候,我們需要用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...