1樓:雄氏老方
一點程式設計上的小建議,如果你的函式中物理量都很小(例如e-7以下)。你可以調整公式裡面的物理量量綱。例如原來是kg/L 調整成ug/L 。這樣可以避免浮點數四捨五入誤差
2樓:「已登出」
捨入誤差的問題。
譬如 這樣乙個算式,我們都知道 時有
但是計算機在計算 的時候並不能以分數的方式儲存,只能以小數的方式儲存而且只能保留小數點後若干位數,所以導致計算機計算得到的 不等於0,而是乙個很小的數。
同理,如題,理論上確實是分母不等於0,error就等於0。但是,計算機只保留有限位數的緣故:
倒數第二步SO4_mob_ini = HSO4_mob_ini*Ka_HSO4/H_mob_ini; % mol/L
結果SO4_mob_ini只保留了16位數,並不是精確的所以最後一步結果不是0,而是很小的數
3樓:
matlab的數值計算是雙精度浮點數,本來就是有誤差的,這個也沒辦法解決和避免。
但是你如果非要要求精度那麼高的話可以把你這個改成符號計算,用syms,這樣會好點
Ka_HSO4
=sym
(10^(
-1.99
));SO4tot_mob_ini
=sym
(0.078
);% mol/l
初始值改成符號值之後會更準確一點
如何反駁「前端很簡單」的觀點?
BLS475 學前端需要多少本書?雙11我最少買了8本,從HTML,CSS,JS,到jQuery,Bootstrap,Vue.js,Node.js,ES6,TypeScrpit,這還不包括UI設計方面的。你就讓他看,生看,看到他能吐槽前端很簡單為止,看他個月能看完?我做手機遊戲時,只要看完一本coc...
這個圖左邊這個程式的輸出值不太懂為啥是10
張浩 實際上機試一下,開啟gcc的 Wall選項,把所有的warning處理掉。養成0 warning的好習慣,以後自然就懂了。 卡卡超人 因為printf執行成功時返回列印的字元個數。C89標準預設返回值為int 返回值一般是儲存在eax 看環境,ax rax 暫存器內,因為printstar執行...
怎麼用很簡單的語言解釋全息原理?
董唯元 嚴謹的解答請參考大神 Trivial 的回答,我只是來扯一點YY的私貨。簡單的說,就是在黑洞視界處,徑向自由度消失了,只剩下切向自由度。解釋如下 用史瓦西度規寫出黑洞的樣紙是醬嬸的 儘管爛俗且不嚴密,但還是想說 在 的時候,也就是在黑洞視界以內,空間變成了時間,時間變成了空間。呸,後半句不算...