在我的机器上,以下代码:
for i=1:200
1+2+5;
end;
Run Code Online (Sandbox Code Playgroud)
在0.000180秒内运行。
现在,此代码:
syms x y z
f(x,y,z) = x + y+z;
for i=1:200
f(1,2,5);
end;
Run Code Online (Sandbox Code Playgroud)
慢得多(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;
Run Code Online (Sandbox Code Playgroud)