open a hex file
古いコメントを表示
I use the following code to open a hex file (please look at the attachment).
fid = fopen('FileName');
A = fread(fid);
My problem is instead of getting A as a cell containg n*1 (n is the number of rows in the hex file) I get one row of numbers. I would appreciate it if you help me get a result like below:
00 00 00 00 49 40 40 0D
03 00 30 43 C6 02 00 00
A3 6B 74 23 90 47 E4 40
and so on
1 件のコメント
Azzi Abdelmalek
2013 年 10 月 16 日
Can you post the result you've got? maybe with simple use of reshape function you can get the expected result
採用された回答
その他の回答 (1 件)
Azzi Abdelmalek
2013 年 10 月 16 日
編集済み: Azzi Abdelmalek
2013 年 10 月 16 日
fid = fopen('file.txt');
A = textscan(fid,'%s %s %s %s %s %s %s %s')
fclose(fid)
A=[A{:}]
arrayfun(@(x) strjoin(A(1,:)),(1:3)','un',0)
8 件のコメント
Walter Roberson
2013 年 10 月 16 日
Use '%x%x%x%x%x' instead of %s if the numeric form is desired.
Azzi Abdelmalek
2013 年 10 月 16 日
編集済み: Azzi Abdelmalek
2013 年 10 月 16 日
Post the first samples you've got with
A = fread(fid);
Azzi Abdelmalek
2013 年 10 月 16 日
If the data you've got are like:
A={'00' ;'00' ;'00';'00'; '49'; '40' ;'40' ;'0D'; '03'; '00' ;'30' ;'43'; 'C6'; '02'; '00' ;'00'}
You can make some transformations
out=reshape(A,8,[])'
result=arrayfun(@(x) strjoin(out(x,:)),(1:size(out,1))','un',0)
Azzi Abdelmalek
2013 年 10 月 16 日
編集済み: Azzi Abdelmalek
2013 年 10 月 16 日
Decimal numbers? please edit your question and make it as clear as possible
Jan
2013 年 10 月 16 日
@Ronaldo: A memory leak? I assume, you mean something completely different.
カテゴリ
ヘルプ センター および File Exchange で Numeric Types についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!