我需要幫助從二進制文件讀取數據到100000x16維數組。我正在使用八度。從二進制文件讀取數據轉換爲matlab,拆分爲矢量
這裏的鏈接到文件的外觀截圖:http://s29.postimg.org/uclh7whtz/Screenshot.png
我使用的fscanf和FREAD試過,但不知道去使用他們 - 他們搞砸了與精度什麼方式,等等在...
感謝您的幫助!
我需要幫助從二進制文件讀取數據到100000x16維數組。我正在使用八度。從二進制文件讀取數據轉換爲matlab,拆分爲矢量
這裏的鏈接到文件的外觀截圖:http://s29.postimg.org/uclh7whtz/Screenshot.png
我使用的fscanf和FREAD試過,但不知道去使用他們 - 他們搞砸了與精度什麼方式,等等在...
感謝您的幫助!
如果搞砸了與精度,有你只需要指定16行的值作爲漂浮%f
作爲一個很好的機會:
fid=fopen(strcat(Name,'.dat'));
C=textscan(fid, '%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f'); % one '%f' for row, is that 16?
fclose(fid);
這當然會忽略的頭文件(但我想你想這樣做,不是嗎?)。
您還可以通過以下方式在MATLAB中使用"dlmread"
函數。
a=dlmread('file.dat','\t',1,0);
這將跳過標題行並讀取完整的數字矩陣。以下是一個示例:
file name=example.dat
time x1 y1 z1
0.000 0.084 0.015 0.0181
0.016 0.008 0.001 0.8012
0.032 0.081 0.064 0.235
a=dlmread('example.dat','\t',1,0);
a =
0 0.0840 0.0150 0.0181
0.0160 0.0080 0.0010 0.8012
0.0320 0.0810 0.0640 0.2350
請通過dlmread
幫助獲取進一步幫助。