matlab formatspec(从文本文件加载的位数)

时间:2015-03-17 21:54:21

标签: matlab

我有一个最多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时,它完全正常。为什么是这样?我完全被这种行为搞糊涂了。

1 个答案:

答案 0 :(得分:0)

fscanf不允许指定位数,您必须使用textscan。格式%16.16f格式与您的数据不匹配,第一个数字指定的是总位数,而不是.的剩余位数。你可能想要:

x=textscan(fileID ,'%32.16f')