作者candy88257 (阿泰斯)
看板MATLAB
标题[讨论] 符号运算会慢很多?
时间Sun Nov 24 14:32:50 2013
原本是用double计算
但是後来发现某些地方会出现inf或0的情况,也就是超过matlab可以显示的最大值与
最小值了
於是我把要代入的东西改成符号
像下面:
原本:
syms x
a=10^200;
b=10^200;
a*b*x=inf
改成符号後:
syms x
a=sym(10^200);
b=sym(10^200);
a*b*x=(10^400)*x
但是以上只是简单地举例
真正我要算的程式,原本用double运算时只需不到1分钟(代入的值不超过matlab能显示的
最大最小值),但改成符号後,从刚刚到现在已经快10分钟了,还没算出来= =
请问有解决办法吗?
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.130.17.253
1F:→ candy88257:恳求高手帮助! 我要算的是16条方程、16个变数 11/24 18:01
2F:→ candy88257:的联立方程,其变数的系数是由其它方程式计算而得 11/24 18:02
3F:→ candy88257:由於那些计算出来的系数有些会超过realmax,所以想改成 11/24 18:04
4F:→ candy88257:符号计算,目前已经改完,但从发问到现在还没计算完毕@ 11/24 18:05
5F:→ candy88257:发现问题与想到方法了,检查一下推出来的方程式 11/24 20:02
6F:→ candy88257:发现一堆分数,加vpa变成很精简的16个变数的样子 11/24 20:03
7F:→ candy88257:这样就能算了!!! 11/24 20:03