我正在使用Matlab的符号工具箱进行测试。并且想知道为什么即使用符号数字计算它也是如此之慢。为了测试它,我写了这个
syms x
x = subs(x,1);
a = 1;
tic
for i=1:10000
z_sym = x + 1;
end
toc
tic
for i=1:10000
z_num = a + 1;
end
toc
对于第一个循环,它表示Elapsed time is 4.358483 seconds.
,而第二个循环表示Elapsed time is 0.000029 seconds.
。我知道使用subs函数给我x = 1,但它仍然是typ sym
,我可以使用强制转换来加速它。但这就是重点。
为什么计算1 + 1符号比花费数字需要大约15000倍。是什么让Matlab如此艰难?