Наконец-то я понял это.
Когда я открываю свой файл .dat в текстовом редакторе, он имеет заголовки и часть данных.
Я вижу заголовок (ASCII), но часть данных является случайным машинным кодом, что означает, что это двоичные данные, я также знаю, что это с плавающей запятой.
, поэтому вместо использования "textcan или fscan" я использую функцию "fread" в matlab для загрузки данных.
Перед загрузкой в matlab я удалил строки заголовков, если не удален, размер загружаемых данных отличается и неверен.
fid=fopen('name.dat','rt');
A = fread(fid,'*float32');
fclose(fid);
A - окончательный массив данных.