我一直在Matlab上使用mmread来导入MatrixMarket文件。 但它对.mtx文件here不起作用,尽管它适用于.mtx文件here。错误消息是:输出参数" A" (也许是其他人)在通话期间未分配 " mmread"
命令:
temp=mmread('GSM2396856_dc_3hr.mtx.txt');
答案 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'))%实际值条目: ...................