由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Computation版 - 请问如何对256个参数使用穷举法进行优化
相关主题
贡献一个问题菜鸟问个有限元的弱问题
[合集] 如何让一个嵌套循环程序并行处理?请问谁有tricubic spline interpolation的子程序吗?
如何取出 一个object (cfit)中的参数?Fortran 90 中有没有计算程序运行时间的内部函数?
再请教大家matlab循环赋值的问题再问一个fortran的问题
matlab参数拟合fortran里矩阵传递有维数限制吗?
请教:MATLAB循环优化的问题Fotran77程序的移植问题
那位大侠帮帮我!matlab问题[求教]请各位推荐解大型矩阵的子程序 (转载)
求计算associated legendre polynomial的子程序求助:downhill simplex minimization
相关话题的讨论汇总
话题: ite话题: parameter话题: end话题: 256
进入Computation版参与讨论
1 (共1页)
d*******2
发帖数: 340
1
256个参数,每个参数有两个可能值。如果使用循环,应该是
for parameter1 =1:2
for parameter2 =1:2
for parameter3 =1:2
for parameter4 =1:2
for parameter5 =1:2
for parameter6 =1:2
。。。。。。
for ite=1:2
f(parameter256(ite) .......parameter6(ite),parameter5(ite),parameter4(ite)
,parameter3(ite),parameter2(ite),parameter1(ite))=....
...
end
end
end
end
end
end

这样一共需要些256个for循环。请问有什么更简洁的办法吗?先谢了!
j**u
发帖数: 6059
2
这个决定于你的f(...),如果很复杂不能矩阵运算,本来就是256个循环,你也不能减
少呀,可能试试parallel computing toolbox的parfor。你不妨把f(...)贴出来看看能
不能简化运算。

ite)

【在 d*******2 的大作中提到】
: 256个参数,每个参数有两个可能值。如果使用循环,应该是
: for parameter1 =1:2
: for parameter2 =1:2
: for parameter3 =1:2
: for parameter4 =1:2
: for parameter5 =1:2
: for parameter6 =1:2
: 。。。。。。
: for ite=1:2
: f(parameter256(ite) .......parameter6(ite),parameter5(ite),parameter4(ite)

d*******2
发帖数: 340
3
非常感谢!f()不能矩阵运算,需要用子程序才能实现。
请问如果用parfor的话,在写法上可以不用写256+行语句吗?

【在 j**u 的大作中提到】
: 这个决定于你的f(...),如果很复杂不能矩阵运算,本来就是256个循环,你也不能减
: 少呀,可能试试parallel computing toolbox的parfor。你不妨把f(...)贴出来看看能
: 不能简化运算。
:
: ite)

D****y
发帖数: 2207
4
编码
用一个bit代表一个parameteri,0代表2,1代表1
256个parameter可以用4个long long覆盖,256层循环可以简化成4层循环
for (v_parameter_1=0:0xffffffffffffffff)
for (v_parameter_2=0:0xffffffffffffffff)
for (v_parameter_3=0:0xffffffffffffffff)
for (v_parameter_4=0:0xffffffffffffffff)
f'(v_parameter_1, v_parameter_2, v_parameter_3, v_parameter_4)

ite)

【在 d*******2 的大作中提到】
: 256个参数,每个参数有两个可能值。如果使用循环,应该是
: for parameter1 =1:2
: for parameter2 =1:2
: for parameter3 =1:2
: for parameter4 =1:2
: for parameter5 =1:2
: for parameter6 =1:2
: 。。。。。。
: for ite=1:2
: f(parameter256(ite) .......parameter6(ite),parameter5(ite),parameter4(ite)

1 (共1页)
进入Computation版参与讨论
相关主题
求助:downhill simplex minimizationmatlab参数拟合
[合集] 有关fortran返回数组的问题!请教:MATLAB循环优化的问题
fortran里如何在子程序间共享向量那位大侠帮帮我!matlab问题
请教有无这样的软件.求计算associated legendre polynomial的子程序
贡献一个问题菜鸟问个有限元的弱问题
[合集] 如何让一个嵌套循环程序并行处理?请问谁有tricubic spline interpolation的子程序吗?
如何取出 一个object (cfit)中的参数?Fortran 90 中有没有计算程序运行时间的内部函数?
再请教大家matlab循环赋值的问题再问一个fortran的问题
相关话题的讨论汇总
话题: ite话题: parameter话题: end话题: 256