现在我的代码有一半的运行时间是在很多点上评估一个大函数,每次评估大约需要 20 秒
该函数由一堆简单的操作组成,看起来像
Ux = ((1./72).*(x.^2+y.^2+z.^2).^(-5./2).*((-5).*x.*(4.*x.^4+3.*y.^2.*( ...
y.^2+z.^2)+x.^2.*(7.*y.^2+z.^2)).*gx^2+(-10).*y.*(3.*x.^4+5.* ...
x.^2.*y.^2+2.*y.^2.*(y.^2+z.^2)).*gx.*gy+5.*x.*(x.^4+3.*y.^2.* ...
z.^2+x.^2.*(y.^2+z.^2)).*gy^2));
有什么办法可以加快速度吗?此外,它花费了 10% 的函数评估来连接这些大型矩阵
U =[Ux;Uy;Uz];
有什么技巧可以加快这类评估的速度吗?