Matlab 向量化内部for循环

Matlab 向量化内部for循环,matlab,for-loop,vectorization,Matlab,For Loop,Vectorization,我想在MATLAB中对以下嵌套循环构造的内循环进行矢量化: for j = 1:MM S4 = 0; for i = 1:MM S4 = S4 + b(i,1)*func(i,x(j),0,1); end F(j) = u(j) - f(x(j))-S4; end 其中b、F和U是长度MM的向量。只想为代码优化此段。要对内部循环进行向量化,需要先对func()进行向量化(仅适用于第一个参数)。也就是说,func必须能够处

我想在MATLAB中对以下嵌套循环构造的内循环进行矢量化:

for j = 1:MM
    S4 = 0;
    for i = 1:MM            
        S4 = S4 + b(i,1)*func(i,x(j),0,1);
    end

    F(j) = u(j) - f(x(j))-S4;
end

其中
b
F
U
是长度
MM
的向量。只想为代码优化此段。

要对内部循环进行向量化,需要先对
func()
进行向量化(仅适用于第一个参数)。也就是说,
func
必须能够处理如下情况:

func([1:MM], x(j), 0, 1)
如果可以这样做,则可以在元素乘法中使用
sum

S4 = sum( b(:,1) .* func([1:MM], x(j), 0, 1) );

要对内部循环进行矢量化,首先需要对
func()
进行矢量化(仅适用于第一个参数)。也就是说,
func
必须能够处理如下情况:

func([1:MM], x(j), 0, 1)
如果可以这样做,则可以在元素乘法中使用
sum

S4 = sum( b(:,1) .* func([1:MM], x(j), 0, 1) );