-1

我正在尝试优化这段代码。我在向量上使用函数 fminbnd,使用循环将任务拆分为单个条目。

是否有可能加快矢量化过程?

    for i = 1:A
        for ii= 1:B
            for iii = 1:C
                fun = @(x) (x * variable(i,ii,iii))^2 ;
                [arg_min(i,ii,iii), min_(i,ii,iii)] = fminbnd(fun,-2,2);
            end
        end
    end

感谢您的关注。

真挚地

卢卡

4

1 回答 1

0

如果我离散 x 的域怎么办?举个例子:

x = permute(repmat([-2:0.01:2]',[1,A,B,C]),[2,3,4,1]);
variable2 = repmat(variable,[1,1,1,length([-2:0.01:2]')]);
fun = (x.*variable2).^2;
min_2 = min(fun,[],4);

检查结果:

max(max(max(abs(min_ - min_2))))

结果大致相同。

于 2017-08-17T07:47:16.230 回答