Matlab无法导入矩阵市场文件

时间:2018-05-24 20:28:35

标签: matlab

我一直在Matlab上使用mmread来导入MatrixMarket文件。 但它对.mtx文件here不起作用,尽管它适用于.mtx文件here。错误消息是:输出参数" A" (也许是其他人)在通话期间未分配 " mmread"

命令:

temp=mmread('GSM2396856_dc_3hr.mtx.txt');

2 个答案:

答案 0 :(得分:0)

mmread函数仅支持将“字段”作为“真实,复杂和模式”。因此,如果将该字段表示为整数,我将得到与您相同的错误报告。我建议您将其更改为真实。而且我认为这是工具开发人员应在功能中添加的内容。

答案 1 :(得分:0)

函数mmread不支持整数字段。您可以通过在mmread中添加以下内容来对其进行修改。

if  ( strcmp(field,'integer') )               % integer valued entries:

[T,count] = fscanf(mmfile,'%i',3);
T = [T; fscanf(mmfile,'%i')];
if ( size(T) ~= 3*entries )
   message = ...
   str2mat('Data file does not contain expected amount of data.',...
           'Check that number of data lines matches nonzero count.');
   disp(message);
   error('Invalid data.');
end
T = reshape(T,3,entries)';
A = sparse(T(:,1), T(:,2), T(:,3), rows , cols);

elseif(strcmp(field,'real'))%实际值条目:   ...................