我有一个矩阵,我想把矩阵的第三列放入单元阵列中的元素。我怎样才能做到这一点?MATLAB使用单元阵列中的元素填充矩阵
这里是我的意思的一个例子。 这是矩阵(E):
43.4350000000000 -88.5277780000000 NaN 733144
43.4350000000000 -88.5277780000000 NaN 733146
43.4350000000000 -88.5277780000000 NaN 733148
43.4350000000000 -88.5277780000000 NaN 733150
我想利用的NaN列(列3),并把到它,单元阵列的(UID)中的元素 单元阵列看起来像这样:
'027-0007'
'079-0026'
'119-8001'
'133-0027'
我用这个代码:
E(:,3) = reshape(repmat(uID',length(all_dates),1),[],1)
复制UID的每行一定数目的次数,然后将其重新成形到柱所以这是它的大小作为共同E.
但是,当我现在运行它时,E是矩阵和uID的事实是一个单元格导致MATLAB告诉我,Conversion to double from cell is not possible
。 =
右侧的部分工作正常。这是将单元元素放入E引起问题的原因。
单元格包含_strings_,而目标矩阵必须包含_numbers_。你想如何将“027-0007”变成一个数字?那会是20吗?还是270007?要么...? –
另外,为什么你需要'repmat'单元格数组?它的大小似乎符合您示例中的列大小 –
027-0007不是一个数字。这是一个siteID。这就是我遇到这个问题的原因。我的例子只是一个更大的数组的一小部分,这就是为什么我使用repmat。实际的数组是376x4。 – shizishan