フィルターのクリア

load -ascii : inconsistent behavior

3 ビュー (過去 30 日間)
Hal Caswell
Hal Caswell 2012 年 12 月 10 日
I am trying to read a tab-delimited ascii file. It has 99 rows and 5 columns.
In R2012b, the command
load FILENAME.ext -ascii
correctly loads the file, producing a variable FILENAME of size 99 x 5.
On a different machine, with R2012a, the same command applied to the same file produces a variable FILENAME of size 1 x 495.
That is, under R2012a the load command is reading the file as a single line of values, rather than as a 2-dimensional array. Strangely, if I use the Import Wizard in R2012a, it immediately recognizes FILENAME as containing a 99 x 5 array of tab-delimited values.
I need to have this code work under both versions of Matlab. Any explanations for the inconsistent behavior?
FWIW the code also worked under earlier versions.
Thanks. Hal

採用された回答

Jan
Jan 2012 年 12 月 10 日
編集済み: Jan 2012 年 12 月 10 日
Read ASCII files with LOAD had a bug in 2012a, when the old MacOS-9 linebreaks are used. Then load the file using fileread, replace char(13) by char(10) and save the resulting string with fopen + fwrite.
  1 件のコメント
Hal Caswell
Hal Caswell 2012 年 12 月 10 日
Thanks.

サインインしてコメントする。

その他の回答 (1 件)

Image Analyst
Image Analyst 2012 年 12 月 10 日
Try dlmread() or importdata() instead.
  1 件のコメント
Hal Caswell
Hal Caswell 2012 年 12 月 10 日
It looks like those would indeed work, and would be fine if I was just starting out. But I've used load -ascii for a long time and would prefer to not have to change the command any time I go back to use older code.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeString Parsing についてさらに検索

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by