matlab 中 给出一组排列组合数作为下标在另一个数组中找到对应下标的数并相乘,怎么编程?

举例:n=[1 2 3 4 5 ],A=[a1 a2 a3 a4 a5] 从n中随机选取三个数的所有排列组合为
1 2 3
1 2 4
1 2 5
1 3 4
1 3 5
1 4 5
2 3 4
2 3 5
2 4 5
3 4 5
则在A中对应的最后的输出结果为:
a1a2a3
a1a2a4
a1a2a5
a1a3a4
a1a3a5
a1a4a5
a2a3a4
a2a3a5
a2a4a5
a3a4a5

a3a4a5
则在A中对应的最后的输出结果为:
a1a2a3
a1a2a4
a1a2a5
a1a3a4
a1a3a5
a1a4a5
a2a3a4
a2a3a5
a2a4a5
a3a4a5

主要是排列组合命令 nchoosek,和  .* 的用法

代码如下:

clc;clear;
n = 1:5;
A = 1:5;

x = nchoosek(n,3);

result = A(x(:,1)) .* A(x(:,2)) .* A(x(:,3))追问

谢谢

追答

满意请采纳,不懂请追问。

追问

这是我自己写的,刚开始还能算出结果,后来在用prod函数为什么只是对最后一行的数据进行相乘而不是对矩阵的每一行数据进行相乘呢?

温馨提示:内容为网友见解,仅供参考
无其他回答

matlab 中 给出一组排列组合数作为下标在另一个数组中找到对应下标的数...
主要是排列组合命令 nchoosek,和 .* 的用法 代码如下:clc;clear;n = 1:5;A = 1:5;x = nchoosek(n,3);result = A(x(:,1)) .* A(x(:,2)) .* A(x(:,3))

用matlab如何求出一个数组中最接近某个数的两个数的下标
主要是排列组合命令 nchoosek,和 .* 的用法 代码如下: clc;clear;n = 1:5;A = 1:5;x = nchoosek(n,3);result = A(x(:,1)) .* A(x(:,2)) .* A(x(:,3))

matlab怎么找出一组数据中四个数据的有重复排列组合
可以使用Matlab中的unique函数来统计数据中四个数据中的重复数据。使用该函数可以得到数据中的唯一值和它们的出现次数。

一个matlab里的排列组合或者说是循环嵌套的层数不定的问题,如何...
1、使用ndgrid生成N维网格数据;2、把网格数据转换为坐标组合。参考代码 把每维的坐标写成向量,然后放在一个cell数组中% 这里按照你给的例子示范(三个坐标)C = { 3:4 3:4 3:4 };% 使用ndgrid生成N维网格数据n = length(C);S=arrayfun(@(i)sprintf('x%i ',i),1:3,'UniformOutput',fa...

Matlab对于一组已有数据的多种排列组合
a=1:10;%十个数,可以是其他不同的十个r=zeros(size(a));%每个位置出现的次数,初始化全部为零for i=1:100 b=a(randperm(length(a)));%b就是a中10个数的随机顺序排列 ind=find(b==1);%找到1的位置,也可以是其他a中的数字 r(ind)=r(ind)+1;%对应位置记录加1个end ...

编程问题,一组数数的分配及求和相等问题。Matlab和C语言解都行,大家帮...
设实现的方法是f(n)则f(n)与f(n-1)的关系是 对f(n-1)的每一个组合a1,a2...,an-1 分别把n插入每一个空隙中,于是多出n个排列 n,a1,a2,...,an-1 a1,n,a2,...,an-1 a1,a2,n...,an-1 ...a1,a2,...an-1,n 用C语言实现的难点:C语言没有容器!如果要用纯C语言实现...

用matlab对4行4列数组A=[1,2,3,4;5,6,7,8;9,10,11,12;13,14,15,16...
input_column=[1 1 2 0]; %输入各列个数,存入1*4的向量中,注意格式 A=[1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16]; % 四行四列数组 B=combntns(reshape(A,1,16),4); %对16个数进行排列组合出所有可能的选取结果 num=0; %结果计数器,记录满足要求的选取结果的...

怎样通过排列组合算法求数字和?
二、从下一行开始,每一格填入一个数字,数字代表基准行中的数字的位置。将所有表情况罗列出来。三、在第一行的右侧,使用公式,由数字的位置转求数字的和。四、指定一个数,在所求的和值的列表中找到与之相近的,从而找到相应的数的组合。2020.5.14补充:以11个数为例(其中包括了少于11个数的...

用MATLAB做 1 。从excel中提取两列数据。第一列为从0到15的数列。第二...
用MATLAB做1。从excel中提取两列数据。第一列为从0到15的数列。第二列为16个随机整数。2。第二列表示的意思是对应第一列数字出现的频率(次数)3。求所有随机排列组合例如第一列01234... 用MATLAB做1 。从excel中提取两列数据。第一列为从0到15的数列。第二列为16个随机整数。2 。第二列表示的意思是对应...

5个相同数字的数,怎么组合在一起?
第二类:5个数中有相同的数,至少一组相同数字,相同数字的个数用a表示;相同是数字可以捆绑在一起,排列组合里面叫捆绑法,例如6,5,4,3,3,3,1这7个数,有3个数相同(相同的数字,不论在数组里面连续还是不连续,只要相同,都可以捆绑),将这3个数捆绑在一起,当一个数使用,则数组变为6、...

相似回答