史萊姆論壇

史萊姆論壇 (http://forum.slime.com.tw/)
-   程式語言討論區 (http://forum.slime.com.tw/f76.html)
-   -   如何利用c#撰寫積分到∞的方程式 (http://forum.slime.com.tw/thread239258.html)

k2rml 2008-11-21 04:45 PM

如何利用c#撰寫積分到∞的方程式
 
如何利用c#撰寫積分到∞的方程式

飛鳥 2008-11-21 05:16 PM

程式沒有∞的啦

無限大不是一個數值,你是要算微積分是吧,你可以用用MATLAB

C#再怎麼大的數也是有一個數值,記憶體也不是無窮大的呀

getter 2008-11-21 05:51 PM

以數學來說是有 ∞ 的概念
但是對電腦來說 ∞ 不存在的

因此飛鳥大大說程式沒有∞的啦,也是如此 ...

同理如 excel 也是如此,許多程式設計也是如此 ...

我記得除了 ∞ 這樣的數學有概念成立,但電腦不成立不存在的好像還有一些。

詳細 ... 我忘了,有請飛鳥大大補充看看

k2rml 2008-11-21 06:33 PM

minitab也是程式,那他如何做到的?

k2rml 2008-11-21 06:36 PM

抱歉上面弄錯。
matlab也是程式嗎?若是,那他如何做到的?

rank 2008-11-21 08:44 PM

引用:

作者: k2rml (文章 2060096)
抱歉上面弄錯。
matlab也是程式嗎?若是,那他如何做到的?

大概取到某個數值就停了,原則上要收斂
如果遇到發散的豈不是還是無限大
:on_47:

Living 2008-11-21 11:29 PM

以前在學校有做過類似的

當時的做法是"切割"

利用LOOP來不斷切割每一段運算

例如當你的數字大到(或小到)C最大量前(比如說26位數)就切割成兩個再分別運算

這樣不斷遞迴就能無限運算

比如說 1/3=0.3333333......如果小數點下C只能算到20位 那就把小數點下的20位取出來

拿餘數繼續再除3再算下面20位 一路遞迴 (小數點上的做法則正好相反)

每取出來的20位數用字串(STRING)的方式來OUTPUT就能表現出超過20位的小數

(但還是要設定停止的點 否則會真的無限運算下去 程式不會停)

猜謎人 2008-11-22 12:49 PM

引用:

作者: rank (文章 2060147)
大概取到某個數值就停了,原則上要收斂
如果遇到發散的豈不是還是無限大
:on_47:

http://ocw.nctu.edu.tw/download.php?...g/18&title=123

這個應該是瑕積分
當然要如上圖般收斂才可計算
不過
以電腦算應該也是取某一區段
其他略而不記

getter 2008-11-23 05:39 PM

我記得還有用遞迴技術 ...

還有位元分割與組合的方式來處理電腦的數值暫存器的大小不夠用的問題

之前在此區有人討論如何處理、運算、表示串接過的變數 ...

不然以 8 位元處理器,如何 8 位元以上的數值呢?

總之在某些情形下,還是有解覺得方法 ... 不過可能會讓人罹患脫毛正 ...

飛鳥 2008-11-24 11:29 AM

c已經有很多已作好的函數可以使用

不用自己從頭寫起

你可以到google上找一下 [c 數學函數 積分]

用別人己寫好的函數來幫助加快自己的開發時間

這有討論
裡面也有說,可以使用MATLAB提供C這個功能

這是很重要的

我找到的是
#inlcude<math.h>
載入math.h,這是大多數一般應用數學函數

這有這個檔檔案函數的功能用法
http://yes.nctu.edu.tw/VC/Ref/include/math.htm

k2rml 2008-11-24 12:44 PM

感謝大家,諸多的意見。
 
感謝大家,諸多的意見。
我碰到的問題是,如何利用c#來求解,下面的積分方程式。
感謝大家給予寶貴的意見。

∞ α-1 -y
∫ y e dy
0


所有時間均為台北時間。現在的時間是 11:03 AM

Powered by vBulletin® 版本 3.6.8
版權所有 ©2000 - 2025, Jelsoft Enterprises Ltd.

『服務條款』

* 有問題不知道該怎麼解決嗎?請聯絡本站的系統管理員 *


SEO by vBSEO 3.6.1