我想结合一个字母矢量
AssetList(1,2:end)
ans =
'a' 'b' 'c' 'd' 'e'
带有数字向量
x
x =
0.3857
0.2143
0.0000
0
0.4000
创建一个表格,其中a = 0.3857等,但无论我尝试什么,我都会收到错误。例如:
y=cat(2,alldata(1,2:end)',x)
使用cat时出错 连接矩阵的维数 不一致。
答案 0 :(得分:1)
我不确定你想要什么,也许是这样的:
x = 'a':'e'
y = 11:15
C = cell(5,2)
for t = 1:5
C{t,1}=x(t)
C{t,2}=y(t)
end
它当然可以被矢量化,但我发现这个解决方案更容易理解。
答案 1 :(得分:1)
标准MATLAB数组只能处理一种数据类型,例如:无论是角色还是双打。如果你想组合多种类型的数据,你将需要使用结构或单元格,正如Dennis Jaheruddin在他的回答中所做的那样。
参见附件中有关如何将其放入结构数组的示例:
for n=1:5
y(n).character = AssetList(1,n+1)
y(n).number = x(n)
end
答案 2 :(得分:1)
你的方法几乎可行。在使用x
之前,您只需要将cat
转换为单元格数组(mat2cell
):
y = cat(2, alldata(1,2:end).', mat2cell(x, ones(1,numel(x))));