我有一个8 x 8的单元格数据,并希望从另一个只有7 x 7的单元格中复制。
例如,第一个单元格看起来像
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
,第二个单元格数据
1 0 0 0 0 0 0
0 0 0 0 0 0 0
0 2 0 0 0 0 0
0 0 0 3 0 0 0
0 0 0 0 0 0 0
0 0 0 0 0 5 0
0 0 0 0 0 0 0
那么如何将Matlab单元格数据结构复制到另一个单元格区域?
它有效,但我觉得有更好的方法。
for i = 1:7
for j = 1:7
result_matrix{i,j} = mat_trans_cell{i,j};
end
end
我尝试过如下但是失败了。
result_matrix{1:7,1:7} = test{1:7,1:7}
答案 0 :(得分:1)
一些例子
a = cell(5,5) % create first cell array
a{1,1} = 1 % put some numbers
a{2,2} = 3
a{1,3} = 0
b = cell(3,3) % create second cell array
b(1:3,1:3) = a(1:3,1:3) % the way you are interesting in
b(3,:) = a(1,1:3)
a =
[1] [] [0] [] []
[] [3] [] [] []
[] [] [] [] []
[] [] [] [] []
[] [] [] [] []
b =
[1] [] [0]
[] [3] []
[1] [] [0]
所以在你的情况下你可以做到
result_matrix(1:7,1:7) = test(1:7,1:7)
主要思想是感受单元数组{}
和()
之间的区别。
您可以找到有关它的有用信息here。