如果常常碰到這類數值計算問題的話建議去學一學計算的軟體(也就是超大型計算機)我自己學的是Matlab(算矩陣特別好用,偏偏我念的都會碰到一堆矩陣)像是前面算出來的答案286.4135其實只要一行就可以完成了double(solve('23.7*log(T2/298)+0.00519*(T2-298)+1','T2'))就像這樣,沒有什麼複雜的程式碼,就是你看到的一行而已如果要更精確的答案為286.4135322513409用別種的語法可以得到小數點更多位數的數字不過那樣用不到吧
樓上大大說得好,矩陣運算的確是MATLAB的強項MATLAB本身就是用矩陣的觀念在處理問題他龐大的TOOLBOX種類更是橫跨了各個學門強烈建議念理工科系的朋友要把他摸熟一點,將來念研究所的時候會很有幫助的
fx60ms wrote:沒錯啦不過我還是希望能用手算出來畢竟很多時候不是都有電腦在身邊太依賴電腦的話也會讓某些"程度流失" 用手算的話...可以去找數值分析和工程數學的書來看,而且工學院裡面都會開這兩門課每當工數難以求出Exact Solution(正確解,一作恰當解)的時候,問題往往會回歸到數值分析的層面上來樓上大大用的疊代法也是數值分析裡面有介紹到的只要這兩門課能學好,其他專業科目大概也沒什麼大問題了
手算的話知道原理就好了這世界上不是什麼都可以用手算的像是之前的作業最少也有算到五個自由度也就是必須要進行5*5矩陣的反矩陣運算最高算到36個自由度,矩陣維度更是高達36*36這些東西有辦法用手算嗎?還有這只是"作業"而已以前我我說的Matlab為例算到out of memory的情況也不算少見矩陣一個元素用8 bytes(double)去儲存可以大概算一下到底要多少元素的矩陣才能把自己電腦記憶體炸了而最近才剛出來沒多久的Matlab 7.2 R2006a更是號稱可以有2*10^9個元素(double)也就是一個矩陣最大可以讓你用到16GB這麼多元素的容量這樣子還有辦法用手算嗎?要用高斯消去法慢慢去把反矩陣算出來也是可以只是真的太累而且太無聊了這種又單調又無聊的工作就交給任勞任怨的電腦去執行吧題外話Matlab 7.2 R2006a雖然號稱能用16GB這麼大的矩陣不過有人實測最大矩陣還是只能建到4G而已個人是猜測是PAE的問題讓單一程式最大仍然只能使用4G記憶體