Matlab 如何显示两组值的二项式组合?
我有两套Matlab 如何显示两组值的二项式组合?,matlab,matrix,combinations,Matlab,Matrix,Combinations,我有两套 set1=0.05:0.05:2.5; set2=2.55:0.05:5; 我想在Matlab中显示set1和set2的所有组合,理想情况下是以矩阵类型的格式。由于size(set1)和size(set2)均为1×50,因此组合矩阵的尺寸应为50×50。可以使用meshgrid沿网格轴将所有组合作为两个矩阵提供 set1=0.05:0.05:2.5; set2=2.55:0.05:5; [A,B] = meshgrid(set1,set2); 一个简单的例子: figure();
set1=0.05:0.05:2.5;
set2=2.55:0.05:5;
我想在Matlab中显示
set1
和set2
的所有组合,理想情况下是以矩阵类型的格式。由于size(set1)
和size(set2)
均为1×50,因此组合矩阵的尺寸应为50×50。可以使用meshgrid
沿网格轴将所有组合作为两个矩阵提供
set1=0.05:0.05:2.5;
set2=2.55:0.05:5;
[A,B] = meshgrid(set1,set2);
一个简单的例子:
figure();
a = 1:4;
b=1:1:5;
[A,B] = meshgrid(a,b);
Z = zeros(5,4);
mesh(A,B,Z,'EdgeColor','black')
axis equal;
h1 = gca;
h1.XTick = [1 2];
h1.YTick = [1 2 3];
xlabel('meshgrid Output')
A和B是包含所有现有组合的输出坐标数组。如果希望输出为单元数组,其中每个元素都有组成组合的一对元素,可以使用arrayfun:
[A, B] = meshgrid(set1, set2);
combs = arrayfun(@(x, y) [x y], A, B, 'UniformOutput', 0);
如果您希望输出为50x50x2阵列,其中组合位于梳(i,j,:),则可以将a和B附加在一起:
[A, B] = meshgrid(set1, set2);
combs = cat(3, set1, set2);
您可能需要两个矩阵作为输出,对吗?组合中的每个成员一个