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);

您可能需要两个矩阵作为输出,对吗?组合中的每个成员一个