2014-05-18 42 views
1

我在朱莉婭寫了一些函數,並希望結果被表示爲有理數。也就是說,如果一個函數返回1/2,1/3,13/2571等,我希望它們以書面形式返回,而不是轉換爲浮動。假設函數通過一些迭代過程來計算一些係數,我希望係數值被表示爲有理數。我怎麼能在朱莉婭那裏做到這一點?如何在茱莉亞做合理的算術?

+1

你能更具體地說明你想做什麼嗎?已經有一個'Rational'類型([docs](http://julia.readthedocs.org/en/latest/manual/complex-and-rational-numbers/#rational-numbers)),所以如果你設置了'x = 1 // 2',它會工作。 (這是在第一次谷歌命中「朱莉婭有理」中描述的,所以我假設你在追求更復雜的東西。) – DSM

+0

那麼,我想要的功能是做一些這樣的係數計算自然而然地返回有理數而不是漂浮的方式。因此,我希望算法能夠創建唯一的合理性。如何做到這一點是我的問題。 – comer

+0

因此,也許我可以簡單地使用Base.rationalize([Type],computed_coeff)給計算係數'cast'作爲理性?如果是這樣,那很好。 – comer

回答

6

有理數在朱莉婭可以寫成

1//2 

這些將與職能的工作,包括用戶自定義的,正如你所期望:

5//7*3//5 # results in 3//7 

f(x) = x^2 - 1 

f(3//4) # results in -7//16 

還有的實在沒有多少人呢,但也請參閱manual section。如果有什麼特別的東西不適合你,發佈一些示例代碼,我會看看。

+0

謝謝。我會繼續努力,看看我的功能建設和產出會發生什麼。我很感激幫助。 – comer