2013-02-23 162 views
0

我有一个矩阵< 500 x 500>和矩阵b < 500 x 2>。 矩阵b包含两种类型的值,它们是矩阵a的行和列坐标。我想使用矩阵b中的值来复制所有落在矩阵a的行和列坐标上的值。matlab。根据另一个矩阵的值从一个矩阵复制值

见下面的例子

matrix a   matrix b output 
1 2 3 4 5  1 5  1 2 3 4 5 
6 7 8 9 10 2 5  7 8 9 10 
11 12 13 14 15 1 3  11 12 13 
+0

什么是说明B应该是准确值是多少?而“矩阵a的行列坐标上的值”是什么意思?你的措词含糊不清。 – 2013-02-23 22:42:19

回答

2

因为每一行都会有不同的长度,你需要的值保存到一个单元阵列。

像这样的东西应该工作:

output = cell(size(b,1),1); 

for i = 1:size(a,1) 

    output{i} = a(i, b(i,1):b(i,2)) 

end 
+0

如何避免非整数?代码在非整数运行时会挂起。另外,我无法修改数据以将非整数转换为整数。我必须保持原样,不管是整数还是非整数。非常感谢。 – Buntalan 2013-02-25 12:07:29

相关问题