相关疑难解决方法(0)

131
推荐指数
4
解决办法
12万
查看次数

为什么matlab符号计算这么慢?

我正在使用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
Run Code Online (Sandbox Code Playgroud)

对于第一个循环,它说Elapsed time is 4.358483 seconds.,第二个循环Elapsed time is 0.000029 seconds.。我知道使用subs函数可以给我x = 1,但仍然很典型sym,我可以通过强制转换将其转换以加快速度。但这就是重点。

为什么计算1 + 1符号要比计算数字花费15000倍的时间。是什么让Matlab减速这么难?

matlab symbolic-math

5
推荐指数
0
解决办法
2460
查看次数

标签 统计

c ×1

declaration ×1

initialization ×1

matlab ×1

symbolic-math ×1