f**********g 发帖数: 107 | 1 假设x=1:10;f(x)是一个non-negitive, increasing function of x。同时f(x)<=x。比
如说f(x)可以是[1 2 3 4 5 6 7 8 9 10],或[1 1 2 4 4 4 6 7 7 10]。现在要穷举所
有可能的f(x).除了用十个for循环,有什么简单的方法写Matlab程序吗?多谢。 | n*******e 发帖数: 2213 | 2 这个穷举的意义是什么?
【在 f**********g 的大作中提到】 : 假设x=1:10;f(x)是一个non-negitive, increasing function of x。同时f(x)<=x。比 : 如说f(x)可以是[1 2 3 4 5 6 7 8 9 10],或[1 1 2 4 4 4 6 7 7 10]。现在要穷举所 : 有可能的f(x).除了用十个for循环,有什么简单的方法写Matlab程序吗?多谢。
| c*******h 发帖数: 1096 | 3 n = 10;
f = zeros(1,n);
f(1) = 1;
print_enum(f,2,n);
function print_enum(f, x, n)
if x == n+1
f
else
for y = f(x-1):x
f(x) = y;
print_enum(f, x+1, n);
end
end
【在 f**********g 的大作中提到】 : 假设x=1:10;f(x)是一个non-negitive, increasing function of x。同时f(x)<=x。比 : 如说f(x)可以是[1 2 3 4 5 6 7 8 9 10],或[1 1 2 4 4 4 6 7 7 10]。现在要穷举所 : 有可能的f(x).除了用十个for循环,有什么简单的方法写Matlab程序吗?多谢。
|
|