MATLAB 排列组合如何实现?从每个矩阵抽取一个元素组成排列
来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/07/19 14:02:42
MATLAB 排列组合如何实现?从每个矩阵抽取一个元素组成排列
三个矩阵A=[1 2 3]; B=[4 5 6]; C=[7 8 9];
如何从每个矩阵抽取一个元素组成的所有排列
比如[1 4 7] [1 4 8] 等等
三个矩阵A=[1 2 3]; B=[4 5 6]; C=[7 8 9];
如何从每个矩阵抽取一个元素组成的所有排列
比如[1 4 7] [1 4 8] 等等
esult=[];
for A=[1 2 3]
for B=[4 5 6]
for C=[7 8 9];
result=[result;perms([A B C])];
end
end
end
这样就行了,这是所有的排列.但你给出的例子好像是组合,组合的话就是
result=[];
for A=[1 2 3]
for B=[4 5 6]
for C=[7 8 9];
result=[result;[A B C]];
end
end
end
再问: 可是要排列组合的矩阵有几百个,总不能写几百个循环吧?MATLAB有没什么方法能直接获取排列组合呢
再答: 你的这些矩阵的大小都是一样的吗,如果一样的话是有办法的,不一样的话可能就比较复杂啦
再问: 不一样,实际上我是一个矩阵,每一行元素个数不同 要每一行取出一个元素组成矩阵,所以想不到要怎么做啊
再答: 你的矩阵怎么能每行元素不一样多呢,那怎么形成的矩阵啊?是不是矩阵的有些元素是nan或者inf。
再问: 有些元素是0,我不用那些元素的
再答: 这个需要很复杂的编程实现,而且得到的数据量太大了,如果矩阵是10*10的,得到的结果已经超出matlab的能力了。好像是有10^10的数据啊
for A=[1 2 3]
for B=[4 5 6]
for C=[7 8 9];
result=[result;perms([A B C])];
end
end
end
这样就行了,这是所有的排列.但你给出的例子好像是组合,组合的话就是
result=[];
for A=[1 2 3]
for B=[4 5 6]
for C=[7 8 9];
result=[result;[A B C]];
end
end
end
再问: 可是要排列组合的矩阵有几百个,总不能写几百个循环吧?MATLAB有没什么方法能直接获取排列组合呢
再答: 你的这些矩阵的大小都是一样的吗,如果一样的话是有办法的,不一样的话可能就比较复杂啦
再问: 不一样,实际上我是一个矩阵,每一行元素个数不同 要每一行取出一个元素组成矩阵,所以想不到要怎么做啊
再答: 你的矩阵怎么能每行元素不一样多呢,那怎么形成的矩阵啊?是不是矩阵的有些元素是nan或者inf。
再问: 有些元素是0,我不用那些元素的
再答: 这个需要很复杂的编程实现,而且得到的数据量太大了,如果矩阵是10*10的,得到的结果已经超出matlab的能力了。好像是有10^10的数据啊
MATLAB 排列组合如何实现?从每个矩阵抽取一个元素组成排列
MATLAB编程:有一个4*4的矩阵s,改变矩阵中若干元素的值后位置不变组成新矩阵c,如何实现?
matlab中如何从n维矩阵A中抽取一个M维子矩阵
matlab中如何实现:矩阵减去一个数然后在求矩阵元素之和?
排列组合算法如何实现 一维数组 中元素的排列组合,并将其排列组合的所有情况输出?如:一个字符串数组 ABC;排列后输出:
matlab里面如何创建每个元素都是矩阵的矩阵?
运用matlab如何取每块矩阵的首个元素,组成一个新矩阵?
matlab 如何做到让矩阵中的每个元素从1到4循环?
matlab如何将已有矩阵的每行元素重新随机排列
Matlab 矩阵中抽取元素的问题
matlab 如何将矩阵的每个元素同乘一个数
matlab 如何把一个矩阵中不同的元素组成一个新数组?