主要内容

이번역번역이지는최신내용을담고담고않습니다않습니다。최신최신내용을영문영문으로여기를클릭클릭

수치수치계산의정밀정밀도향상

기본적으로matlab®은16자리의를사용용。정확도를높이려면符号数学工具箱™의VPA.함수를사용하십시오。VPA.는가시킬가시킬시킬있는가변를를제공합니다。

가변정밀정밀도도연산방식을선택한경우기본적적VPA.는32자리의유효소수점자릿수정밀도사용합니다。자세한내용은选择数字或符号算术항목을참조하십시오。数字함수를사용하여하여하여높은정밀도정밀도를할수수수수수

디폴트정밀도인32자리를사용하여합을사화해보겠습니다。하나이상의의입력값값VPA.이감싸고있는경우다른모든입력이자동으로가변정밀변환변환됩니다됩니다。

VPA(1/3)+ 1/2
ANS = 0.8333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333

EXP(VPA(200))과과이모든내부입력값은VPA.로로합니다。그러지않으면입력값이Matlab에의해자동으로배정밀변환됩니다。

数字를사용하여하여정밀도50.자리로늘리고数字의이전값값Digitsold.에에합니다。합산을반복합니다。

digitsold =数字(50);SUM50 = VPA(1/3)+ 1/2
SUM50 = 0.8333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333

추후계산을위해자릿수를이전값으로복원합니다。

数字(Digitsold)

참고

VPA.출력값은기호값입니다。기호값을받지않는matlab함수에기호출력값사용하려면双倍的을사용하여하여기호값값배정밀도로변환변환

数字를호출하여현재数字설정을확인합니다。

数字
数字= 32.

정밀도를VPA.의의두번째입력입력값으로하여하여VPA.호출의정밀도를변경합니다。이호출은数字에영향을주지않습니다。예를들어,PI.100.자리로로사화화보십시오。

VPA(PI,100)
ANS = 3.14159265358979323846264338327950288419716939937510582097494 4592307816406286208998628034825342117068
数字%数字仍然存在32
数字= 32.

가변정밀도는임의로가될될있습니다。PI.500.자리자리구합니다。

digitsold =数字(500);VPA(PI)数字(Digitsold)
ANS = 3.1415926535897932384626433832795028841971693993751058209749 445923078164062862089986280348253421170679821480865132823066 470938446095505822317253594081284811174502841027019385211055 596446229489549303819644288109756659334461284756482337867831 652712019091456485669234603486104543266482133936072602491412 737245870066063155881748815209209628292540917153643678925903 600113305305488204665213841469519415116094330572703657595919 530921861173819326117931051185480744623799627495673518857527 248912279381830119491

数字VPA.유효소수점자릿수를제어합니다。예를들어,4자리정확도로1/111을을사하면처음두자리가0이기때문때문에이하여섯여섯자리를반환반환

VPA(1/111,4)
ans = 0.009009.

참고

정밀도를낮춰서성능을향상시키는방법은通过减小精度提高速度항목을참조하십시오。