hold precision number textscan

1 回表示 (過去 30 日間)
Fiboehh
Fiboehh 2011 年 4 月 29 日
Hellow, i'm using textscan to extract info out of an ascii file. My ascii file has a precision of six numbers after the point. But when i use my program, the numbers convert to a four digit number. my code is:
while (~feof(fid)) % For each block...
InputText=textscan(fid,'%s',1,'delimiter','\n'); % Read header line
HeaderLines{Block,1}=InputText{1};
disp(HeaderLines{Block});
NumCols= nd;
FormatString=repmat('%f',1,NumCols); % Create format string based on parameter
InputText=textscan(fid,FormatString,'delimiter','slice'); % Read data block
Data{Block,1}=cell2mat(InputText); % Convert to numerical array from cell
[NumRows,NumCols]=size(Data{Block}); % Size of table
disp(cellstr([xlate('Table data size: ') num2str(NumRows) ' x ' num2str(NumCols)]));
disp(' '); % New line
Block = Block+1; % Increment block index
end
now when i use InputText=textscan(fid,'%f','delimiter','slice'); the resolution of my matrix isnt right anymore... Thx

採用された回答

Walter Roberson
Walter Roberson 2011 年 4 月 29 日
The program does not convert to four digits accuracy: you have set Matlab to only display 4 digits by default.
Give the command
format g long
and then display the matrix.

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeText Files についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by