减去两个元胞数组,然后将距离添加到新的元胞数组
subtract two cell arrays then add the distance to new cell array
我有两个元胞数组,我想得到两个元胞之间的绝对差异,然后将元胞添加到新的元胞数组中,例如:
A={1.1 2.1 ; 1.2 3.2};
B={1 2};
执行聚合函数如下:
d(1) =|1.1 - 1|+|2.1-2| =0.2 and d(2)=1.4
那么结果应该更新元胞数组:
A_Updated={1.1 2.1 d1; 1.2 3.2 d2};
我使用以下代码减去两个单元格:
C = cellfun((@minus),A,B,'UniformOutput',false);
C=num2cell(abs(cell2mat(C)));
如何添加它们并使用新距离更新元胞数组?
下面的代码将找到距离并更新为 required.When A
的大小是 mx2,B
的大小是 1x2。
A={1.1 2.1 ; 1.2 3.2};
B={1 2};
for i=1:size(A,1)
d1{i,1}=abs(A{i,1}- B{1})+abs(A{i,2}- B{2});
end
A_Updated=[A d1];
更新:当A
的大小为mx2且B
的大小为kx2时
A={1.1 2.1 ; 1.2 3.2};
B={1 2;2 1};
for i=1:size(A,1)
for j=1:size(B,1)
d1{i,j}=abs(A{i,1}- B{j,1})+abs(A{i,2}- B{j,2});
end
end
A_Updated=[A d1];
更新:当A
的大小为mxn且B
的大小为kxn时
A={1.1 2.1 ; 1.2 3.2};
B={1 2;2 1};
for i=1:size(A,1)
for j=1:size(B,1)
d1{i,j}=0;
for k=1:size(B,2)
d1{i,j}=d1{i,j}+abs(A{i,k}- B{j,k});
end
end
end
A_Updated=[A d1];
我有两个元胞数组,我想得到两个元胞之间的绝对差异,然后将元胞添加到新的元胞数组中,例如:
A={1.1 2.1 ; 1.2 3.2};
B={1 2};
执行聚合函数如下:
d(1) =|1.1 - 1|+|2.1-2| =0.2 and d(2)=1.4
那么结果应该更新元胞数组:
A_Updated={1.1 2.1 d1; 1.2 3.2 d2};
我使用以下代码减去两个单元格:
C = cellfun((@minus),A,B,'UniformOutput',false);
C=num2cell(abs(cell2mat(C)));
如何添加它们并使用新距离更新元胞数组?
下面的代码将找到距离并更新为 required.When A
的大小是 mx2,B
的大小是 1x2。
A={1.1 2.1 ; 1.2 3.2};
B={1 2};
for i=1:size(A,1)
d1{i,1}=abs(A{i,1}- B{1})+abs(A{i,2}- B{2});
end
A_Updated=[A d1];
更新:当A
的大小为mx2且B
的大小为kx2时
A={1.1 2.1 ; 1.2 3.2};
B={1 2;2 1};
for i=1:size(A,1)
for j=1:size(B,1)
d1{i,j}=abs(A{i,1}- B{j,1})+abs(A{i,2}- B{j,2});
end
end
A_Updated=[A d1];
更新:当A
的大小为mxn且B
的大小为kxn时
A={1.1 2.1 ; 1.2 3.2};
B={1 2;2 1};
for i=1:size(A,1)
for j=1:size(B,1)
d1{i,j}=0;
for k=1:size(B,2)
d1{i,j}=d1{i,j}+abs(A{i,k}- B{j,k});
end
end
end
A_Updated=[A d1];