在我的机器上,以下代码:
for i=1:200
1+2+5;
end;
在 0.000180 秒后运行。
现在,这段代码:
syms x y z
f(x,y,z) = x + y+z;
for i=1:200
f(1,2,5);
end;
慢得多(6.193909 秒)。
对于我的代码,我需要编写几个复杂的 3 变量函数的导数,然后插入给定域中的所有整数点。能够进行符号微分然后插入会有很大帮助,但这看起来非常慢。
除了手动完成所有操作(手动编写完整的导数)之外,还有其他选择吗?
最佳答案
您可以使用 matlabFunction
加速计算:
syms x y z
f(x,y,z) = x + y+z;
h= matlabFunction(f);
for i=1:200
h(1,2,5);
end;
关于MATLAB:为什么符号替换这么慢,更快的替代方案是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39439312/