2015-06-21 38 views
1

我使用CasADi符號框架來研究機器人問題。由於我的符號方程非常長,我決定將它們導出到Mathematica以簡化它們。問題是,當我使用命令如何避免Python 2.7切割三點過長的符號表達式?

with open("dyn_eq.txt", "w") as eq: 
    print>>eq, f_x 

寫在文本文件中這些方程,巨蟒切斷他們(因爲他們太長時間),使用三個點

+(-0.4726*sin((x_0+x_1))))+...)*...))-...))))*...))*...)+...)+...))))+...)] 

和數學不能明顯地閱讀它們。

我使用了錯誤的命令嗎?有沒有辦法避免Python切割這些表達式?

+0

請向我們展示您的示例中的原始公式。也許[自我參考](http://stackoverflow.com/questions/13851581/python-printed-a-list-three-dots-appeared-inside-sublists)可能是你的問題? – Raoul

+0

你的意思是整個文本文件?無論如何,我不認爲這個問題是自我引用:在script.py中,我可以設置我想模擬的身體的數量(我學習的身體更多的是我想要打印的表達式)以及少量身體這些點不會出現。當我設置更高的數字時,這些點出現在符號列表每一項的末尾,我確定它是一個長度問題......也許有一種方法可以設置一個「視圖選項」來防止Python切割表情?你同意嗎?謝謝! –

回答

1

這實際上是一個輸出限制CasADi的功能而不是Python本身的。您可以通過使用

f_x.getMaxNumCallsInPrint()

(默認10000L)驗證了此限制,並最終通過其伴侶功能改變

f_x.setMaxNumCallsInPrint(20000L)

(如將呼叫值更改爲20K)

來源:http://casadi.sourceforge.net/v1.5.0/api/html/d2/db3/classCasADi_1_1SX.html

+0

它完美的工作,謝謝! –