Matlab學習隨筆 bin檔案讀寫

2021-10-04 21:44:46 字數 1225 閱讀 2394

一、概述

今天寫這篇文章的目的在於最近遇到了需要使用matlab讀寫檔案,來分析fpga使用高速adc採集資料的頻譜。之前沒有怎麼用過matlab,更對檔案操作不熟悉。臨時抱佛腳學習了下matlab,特此記錄下以免以後遺忘了。

二、**分析

在matlab裡要操作檔案,需要例項化乙個檔案控制代碼,呼叫函式fopen();

fp = fopen(filename, permission);
該函式有兩個引數,filename是檔名,permission引數是檔案訪問型別。具體的引數可以到官網參看(

例項化了檔案控制代碼以後,可以對檔案經行讀寫操作了。對檔案寫操作需要呼叫fwrite()函式;

fwrite(filename, a, precision);
fwrite()函式具有三個引數,filename 是檔名稱, a是寫入的值, precision為寫入的形式(可以實int,char等型別)。詳情見

對檔案讀操作呼叫fread()函式;

fread(filename, sizea, precision);
fread()可包含三個引數,filename:檔名,sizea:讀取資料個數,precision:資料形式。詳情見官網

對檔案操作完成後需要釋放檔案控制代碼,呼叫fclose()即可。

三、詳細**

clear all;

clc;

filename = 'd:\work\matlab\fft_test\test_d.bin';

%向bin檔案寫入100個數,初始化data

data = zeros(1,100);

%data

for k = 1:98

data(1, k) = k;

enddata(1,99) = -100; %第99個數寫入-100

data(1, 100) = -10;

s = int16(data);

fp = fopen(filename, 'wb');

fwrite(fp, s, 'int16');

fclose(fp);

fp = fopen(filename, 'rb');

b = zeros(16,1);

b = fread(fp, 100,'int16');

fclose(fp);

C Hex檔案轉Bin檔案

好吧 我接觸到微控制器的一點點東西了 今天要在web上面做乙個對硬體的遠端公升級,給我的是bin檔案或者是hex檔案,傻了沒搞過,發現讀bin不太會搞,讀hex是ascii碼然後轉哈哈 首先需要了解以下hex的檔案資訊 intel hex檔案是記錄文字行的ascii文字檔案,在intel hex檔案...

ELF檔案和BIN檔案

檔案的內容 1.bin檔案是 raw binary 檔案,這種檔案只包含機器碼。2.elf檔案除了機器碼外,還包含其它額外的資訊,如段的載入位址,執行位址,重定位表,符號表等。所以elf檔案的體積比對應的bin檔案要大。檔案的執行 1.執行raw binary很簡單,只需要將程式載入到其起始位址,就...

ELF檔案和BIN檔案

檔案的內容 1.bin檔案是 raw binary 檔案,這種檔案只包含機器碼。2.elf檔案除了機器碼外,還包含其它額外的資訊,如段的載入位址,執行位址,重定位表,符號表等。所以elf檔案的體積比對應的bin檔案要大。檔案的執行 1.執行raw binary很簡單,只需要將程式載入到其起始位址,就...