java - 在 MATLAB 中读取文件时指定数据类型

标签 java file matlab input types

我正在尝试通过文本文件将实验收集的数据读入 MATLAB。数据都是整数,分八列,并用空格分隔。

我想打开文件,读入数据,然后重新整形为代表数组。

所以,我有:

fileID = fopen('String name of file');
A = fread(fileid);
B = reshape(A, (length(A) / 8), 8);

默认情况下,fread 假定数据是 double ,但是当我尝试指定整数时,例如 fread(fileid, inf, 'int'),数据仍然得出错误的值。

数据由 Java 程序输出为“int”,并在 Linux 环境中生成,但现在在 Windows 中(我只有 MATLAB 许可证)。我认为这是为 fread 指定正确数据类型的问题,但我不确定。

有什么想法吗?

最佳答案

我不知道如何使用 fread,但 textscan 应该可以:

% Open file
fid = fopen('file.txt');

% Scan 8 columns of numeric values
tmp = textscan( fid, repmat('%f ', [1 8]));

% Close file handle
fclose(fid);

% Convert to int and join columns into matrix
data = int32(cat(2, tmp{:}));

关于java - 在 MATLAB 中读取文件时指定数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18833915/

相关文章:

java - 为什么类 Car 会存储对象 car 和 car2 的正确信息,但类 Owner 不会存储对象 Owner2 的信息?

java - 为什么将 gradle java 应用程序部署到 heroku 失败?

javascript - 如何在 Android 上的 SDCard 上打开 HTML 文件

matlab - MATLAB 中的重采样函数导致高误差

java - Java中如何转换字符集?

java - 判断日期集合是每月还是每天的最佳方法是什么?

java - 如何检查文件/目录是否是 protected 操作系统文件?

Java并发从多个线程写入单个文本文件?

c - 带匹配括号的正则表达式

matlab - 在 Matlab 中求解 ODE 时是否可以使用匿名函数作为事件函数