矩阵组合matlab,matlab中矩阵的所有组合[通俗易懂]

这是一个更简单(原生)的解决方案,包含perms和meshgrid:N=size(A,1);X=perms(1:N);%#PermuationsofcolumnindicesY=meshgrid(1:N,1:factorial(N));%#Rowindicesidx=(X-1)*N+Y;…

大家好,又见面了,我是你们的朋友全栈君。

这是一个更简单(原生)的解决方案,包含

perms和

meshgrid:

N = size(A, 1);

X = perms(1:N); % # Permuations of column indices

Y = meshgrid(1:N, 1:factorial(N)); % # Row indices

idx = (X – 1) * N + Y; % # Convert to linear indexing

C = A(idx) % # Extract combinations

结果是一个矩阵,每行包含不同的元素组合:

C =

321 180 310

319 320 310

321 130 100

319 130 299

322 320 100

322 180 299

此解决方案还可以缩短为:

C = A((perms(1:N) – 1) * N + meshgrid(1:N, 1:factorial(N)))

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/127144.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号