主要内容

정밀도를낮춰향상시키기

MATLAB®의속도높입니다。符号数学工具箱™의VPA함수및数字함수에서가변도연산방식사용정밀도를낮춥니다낮춥니다。정밀도를를으로써성능향상됩니다됩니다。자세한내용은수치연산또는기호연산하기하기항목을하십시오。

예를,큰행렬C의리함수구하는데는이걸립니다걸립니다걸립니다。먼저C를초기화합니다。

[x,y] = meshgrid((0:0.0025:.75),(5:-0.05:0));c = x + y*i;

그런다음Zeta(C)를계산데시간구합니다구합니다。

tic zeta(c);TOC
经过的时间为340.204407秒。

이제VPA를사용정밀이연산반복합니다합니다。먼저数字를사용하여VPA에서사용하는를10자리의정밀변경합니다。그런다음VPA를사용하여C의정밀도를낮추고Zeta(C)를다시구합니다。연산속도훨씬빠릅니다빠릅니다。

数字(10)VPAC = VPA(C);TIC Zeta(VPAC);TOC
经过的时间为113.792543秒。

참고

VPA출력값기호입니다입니다。Matlab함수함수함수에기호출력값을하려면하려면하려면双倍的을사용값배정밀변환하십시오하십시오。

더큰경우시간의차이훨씬클수있습니다있습니다。예를,1001×301행렬C가있다가정하겠습니다。

[x,y] = meshgrid((0:0.0025:.75),(5:-0.005:0));c = x + y*i;

10자리정밀도로Zeta(VPA(C))15분분걸리지만걸리지만걸리지만걸리지만Zeta(C)를실행하는는는배배걸립니다걸립니다걸립니다。

数字(10)VPAC = VPA(C);TIC Zeta(VPAC);TOC
经过的时间为886.035806秒。
tic zeta(c);TOC
经过的时间为2441.991572秒。

참고

정밀도를높이려면수치계산정밀도향상시키기항목을하십시오。