[討論] 符號運算會慢很多?

看板MATLAB作者 (阿泰斯)時間12年前 (2013/11/24 14:32), 編輯推噓0(007)
留言7則, 1人參與, 最新討論串1/1
原本是用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

11/24 18:01, , 1F
懇求高手幫助! 我要算的是16條方程、16個變數
11/24 18:01, 1F

11/24 18:02, , 2F
的聯立方程,其變數的係數是由其它方程式計算而得
11/24 18:02, 2F

11/24 18:04, , 3F
由於那些計算出來的係數有些會超過realmax,所以想改成
11/24 18:04, 3F

11/24 18:05, , 4F
符號計算,目前已經改完,但從發問到現在還沒計算完畢@
11/24 18:05, 4F

11/24 20:02, , 5F
發現問題與想到方法了,檢查一下推出來的方程式
11/24 20:02, 5F

11/24 20:03, , 6F
發現一堆分數,加vpa變成很精簡的16個變數的樣子
11/24 20:03, 6F

11/24 20:03, , 7F
這樣就能算了!!!
11/24 20:03, 7F
文章代碼(AID): #1IaPsLsf (MATLAB)
文章代碼(AID): #1IaPsLsf (MATLAB)