我有一个最多16位数字(十进制)的文本文件,IAM尝试通过以下代码段使用matlab加载iut:
clc;
clear all;
formatSpec = '%16.16';
fileID = fopen('1_1_F','r');
f1 = fscanf(fileID,formatSpec);
因此,我想加载16位+ 16位小数。但是,以上代码无法将任何内容加载到我的数组f1中。当我将其更改formatSpec
为just时%f
,它完全可以正常工作。为什么是这样?我完全被这种行为弄糊涂了。
fscanf
不允许指定位数,您必须使用textscan
。这里的格式%16.16f
与您的数据不匹配,第一个数字指定的是位数总数,而不是.
。您可能想要:
x=textscan(fileID ,'%32.16f')
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句