我有一个最多16位(小数)的文本文件,Iam尝试使用matlab通过以下代码片段加载iut:
clc;
clear all;
formatSpec = '%16.16';
fileID = fopen('1_1_F','r');
f1 = fscanf(fileID,formatSpec);
所以,我想加载16位+16位小数。但是,上面的代码无法将任何内容加载到我的数组f1中。当我将formatSpec
更改为%f
时,它完全正常。为什么是这样?我完全被这种行为搞糊涂了。
答案 0 :(得分:0)
fscanf
不允许指定位数,您必须使用textscan
。格式%16.16f
格式与您的数据不匹配,第一个数字指定的是总位数,而不是.
的剩余位数。你可能想要:
x=textscan(fileID ,'%32.16f')