我为此编写了一个Matlab代码并且运行良好。但我想知道它是否是最佳的。如果没有,所以我需要你的帮助来编写更优的代码..
首先,我想解释一下我的工作概念:
让我们考虑2个阵列 tab1 和 tab2 。 (是两个矩阵阵列)
第一步 :这两个数组之间的最大值为tab3
第二步:我想连接tab3的单元格
这是我的MATLAB代码:
clear all;
close all;
clc;
I1=[1 2 3
4 5 6]
B1=[5 6 4
3 4 2]
c1=[2 5 4
1 2 5]
d1=[2 8 9
0 1 2]
I2=[4 7 6
3 2 4]
B2=[4 6 5
2 3 5]
c2=[6 7 2
1 7 6]
d2=[8 6 3
3 6 5]
%tab1 and tab2
tab1={I1,B1
c1,d1}
tab2={I2,B2
c2,d2}
[n,m]=size(tab1) % or [n,m]=size(tab2) because tab1 and tab2 have the same size
%find the maximum between tab1 and tab2 and then put the result into tab3
for i=1:n
for j=1:m
tab3{i,j}=max(tab1{i,j},tab2{i,j});
end
end
for i=1:n
if(i==1)
x=cat(2,tab3{i,1:m});
else
y=cat(1,x,cat(2,tab3{i,1:m}));
x=y;
end
end
%display the concatenation
x
答案 0 :(得分:0)
这是一种方法:
x=max(cell2mat(tab1), cell2mat(tab2))