MATLAB矢量化创建矩阵

Cha*_*ang 3 matlab vectorization

我想创建一个矩阵

[1 2;
 1 3;
 1 4;
 1 5;
 2 3;
 2 4;
 2 5;
 3 4;
 3 5;
 4 5 ]
Run Code Online (Sandbox Code Playgroud)

当大小为5.我的目标是大小超过100.如何在MATLAB中使用vertorization创建这样的矩阵?

Eit*_*n T 7

您正在寻找二项式系数,因此请使用内置nchoosek命令.例如,您的问题中的矩阵可以通过以下方式生成:

A = nchoosek(1:5, 2)
Run Code Online (Sandbox Code Playgroud)

这导致:

A =
     1     2
     1     3
     1     4
     1     5
     2     3
     2     4
     2     5
     3     4
     3     5
     4     5
Run Code Online (Sandbox Code Playgroud)