第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

測(cè)試浮點(diǎn)相等

測(cè)試浮點(diǎn)相等

桃花長(zhǎng)相依 2019-11-02 09:55:31
有功能可以在python中測(cè)試浮點(diǎn)近似相等嗎?就像是, def approx_equal(a, b, tol):     return abs(a - b) < tol我的用例類(lèi)似于Google的C ++測(cè)試庫(kù)gtest.h的定義EXPECT_NEAR。這是一個(gè)例子:def bernoulli_fraction_to_angle(fraction):    return math.asin(sqrt(fraction))def bernoulli_angle_to_fraction(angle):    return math.sin(angle) ** 2def test_bernoulli_conversions():    assert(approx_equal(bernoulli_angle_to_fraction(pi / 4), 0.5, 1e-4))    assert(approx_equal(              bernoulli_fraction_to_angle(bernoulli_angle_to_fraction(0.1)),                0.1, 1e-4))
查看完整描述

3 回答

?
四季花海

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超5個(gè)贊

為了比較數(shù)字,從Python 3.5開(kāi)始math.isclose,按照PEP 485進(jìn)行。

為了比較數(shù)字或數(shù)組,有numpy.allclose。

對(duì)于測(cè)試數(shù)字或數(shù)組,有 numpy.testing.assert_allclose


查看完整回答
反對(duì) 回復(fù) 2019-11-02
?
動(dòng)漫人物

TA貢獻(xiàn)1815條經(jīng)驗(yàn) 獲得超10個(gè)贊

另一種方法是計(jì)算兩個(gè)數(shù)字的相對(duì)變化(或相對(duì)差異),“用于比較兩個(gè)數(shù)量,同時(shí)考慮要比較的事物的'大小'”。Wikipedia文章中提到的兩個(gè)公式可用于類(lèi)似Python的以下比較中,它們還可以處理被比較的一個(gè)或兩個(gè)值均為零的情況:


def approx_equal(a, b, tol):

    return abs(a-b) <= max(abs(a), abs(b)) * tol


def approx_equal(a, b, tol):

    return abs(a-b) <= (abs(a)+abs(b))/2 * tol

兩種情況下的計(jì)算值都是無(wú)單位的分?jǐn)?shù)。在第一種情況下,基線值是兩個(gè)數(shù)字的最大絕對(duì)值,在第二種情況下,基線值是它們的平均絕對(duì)值。本文將更詳細(xì)地討論每一個(gè),以及它們的優(yōu)缺點(diǎn)。如果在比較之前乘以100(變?yōu)榘俜直戎担?,則后者可能會(huì)變成百分比差異tol。請(qǐng)注意,該文章建議,如果變化的值“本身就是百分比,則最好使用百分比來(lái)談?wù)撈渥兓保唇^對(duì)變化。


這兩種方法(顯然)都比簡(jiǎn)單地取兩個(gè)數(shù)之差的絕對(duì)值需要更多的計(jì)算,這可能是一個(gè)考慮因素。


查看完整回答
反對(duì) 回復(fù) 2019-11-02
?
翻過(guò)高山走不出你

TA貢獻(xiàn)1875條經(jīng)驗(yàn) 獲得超3個(gè)贊

有功能可以在python中測(cè)試浮點(diǎn)近似相等嗎?


因?yàn)槎x取決于上下文,所以不能有函數(shù)。


def eq( a, b, eps=0.0001 ):

    return abs(a - b) <= eps

并不總是有效。在某些情況下


def eq( a, b, eps=0.0001 ):

     return abs( a - b ) / abs(a) <= eps

可能更合適。


另外,這里總是很受歡迎。


def eq( a, b, eps=0.0001 ):

    return abs(math.log( a ) - math.log(b)) <=  eps

哪個(gè)更合適。


我看不到如何要求一個(gè)(單個(gè))函數(shù)將所有數(shù)學(xué)選擇組合在一起。由于這取決于應(yīng)用程序。


查看完整回答
反對(duì) 回復(fù) 2019-11-02
  • 3 回答
  • 0 關(guān)注
  • 341 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)