数値積分¶
import numpy as np
from scipy import integrate # 数値積分
import matplotlib.pyplot as plt
import pandas as pd
import scienceplots
plt.style.use(['science', 'notebook'])
plt.rcParams['font.family'] = 'Times New Roman' # font familyの設定
plt.rcParams['font.family'] = 'serif' # font familyの設定
plt.rcParams['mathtext.fontset'] = 'cm' # math fontの設定
混合型台形則(Composite Trapezoidal Rule)¶
積分を次のように近似する. \begin{gather} \int_a^b f(x) dx \simeq h \left( \frac{f_0}{2} + f_1 + f_2 + \cdots + f_{n-2} + \frac{f_{n-1}}{2} \right) \end{gather}
被積分関数の値を配列で渡す場合
def daikei(ff, a, b): # 混合型台形則
n = len(ff)
h = (b - a) / (n - 1)
y = np.sum(ff[:n]) - 0.5 * (ff[0] + ff[n-1])
return h * y
被積分関数を関数引数とする場合
def daikei_f(func, a, b, n): # 混合型台形則
x = np.linspace(a, b, n)
y = func(x)
h = (b - a) / (n - 1)
return h * (np.sum(y) - 0.5 * (y[0] + y[-1]))
シンプソン1/3則¶
積分区間$[a,b]$を2等分し, \begin{gather} \int_a^b f(x) dx \simeq \frac{h}{3} \left\{ f(a) + 4f \left( \frac{a+b}{2} \right) + f(b) \right\} \end{gather} ここで, \begin{gather} h = \frac{b-a}{2} \end{gather} これより,分割数が偶数の場合(点数$n$は奇数),サンプル点を$x_0(=a), x_1, x_2, \cdots, x_{n-1}(=b)$として, \begin{gather} \int_a^b f(x) dx \simeq \frac{h}{3} \left\{ f(x_0) + 4\sum_{i=1(奇数)}^{n-2}f(x_i)+ 2\sum_{i=2(偶数)}^{n-3}f(x_i) + f(x_{n-1}) \right\} \end{gather} ここで, \begin{gather} h = \frac{b-a}{n-1} \end{gather} これを混合型シンプソン1/3則という.
シンプソン3/8則¶
積分区間$[a,b]$を3等分し,サンプル点をを$x_0(=a), x_1, x_2, x_3(=b)$として, \begin{gather} \int_a^b f(x) dx \simeq \frac{3h}{8} \left\{ f(x_0) + 3f(x_1) + 3f(x_2) + f(x_3) \right\} \end{gather} ここで, \begin{gather} h = \frac{b-a}{3} \end{gather}
被積分関数の値を配列で渡す場合
def simpson(ff, a, b): # 混合型シンプソン
n = len(ff)
h = (b - a) / (n - 1)
if n == 2:
y = (ff[0] + ff[n-1]) * h * 0.5
elif n % 2 == 1:
y4 = np.sum(ff[1:n:2])
y2 = np.sum(ff[2:n-1:2])
y = ff[0] + 4.0 * y4 + 2.0 * y2 + ff[n-1]
y = y * h / 3.0
else:
y = ff[0] + 3.0 * (ff[1] + ff[2]) + ff[3]
y = y * h * 3.0 / 8.0
if n >= 6:
y4 = np.sum(ff[4:n:2])
y2 = np.sum(ff[5:n-1:2])
y += (ff[3] + 4.0 * y4 + 2.0 * y2 + ff[n-1]) * h / 3.0
return y
被積分関数を関数引数とする場合
def simpson_f(f, a, b, n):
if n < 2:
raise ValueError("n >= 2 が必要です")
x = np.linspace(a, b, n)
fx = f(x)
h = (b - a) / (n - 1)
if n == 2:
return (fx[0] + fx[1]) * h * 0.5
elif n % 2 == 1:
# n が奇数 → 通常のシンプソン1/3則
y4 = np.sum(fx[1:n:2])
y2 = np.sum(fx[2:n-1:2])
y = fx[0] + 4.0 * y4 + 2.0 * y2 + fx[-1]
return y * h / 3.0
else:
# n が偶数 → 3/8則 + 混合1/3則
y = fx[0] + 3.0 * (fx[1] + fx[2]) + fx[3]
y = y * h * 3.0 / 8.0
if n >= 6:
y4 = np.sum(fx[4:n:2])
y2 = np.sum(fx[5:n-1:2])
y += (fx[3] + 4.0 * y4 + 2.0 * y2 + fx[-1]) * h / 3.0
return y
def func3(x): # 1変数の被積分関数
y = np.sqrt(4.0-x**2)
return y
q = 180.0/np.pi
a = 0.0
b = 2.0
nx = 101
print("f(x) = sqrt(4-x**2)")
print(f"{'n':>3s} {'daikei':>7s} {'error1':>8s} {'simpson':>7s} {'error2':>8s}")
for i in range(2,nx):
n = i
h = (b-a)/(n-1)
xx = np.linspace(a,b,n)
ff = np.empty(n)
ff[:] = [func3(xx[i]) for i in range(n)]
y1 = daikei(ff, a, b)
y2 = simpson(ff, a, b)
print(f"{n:>3d} {y1:>7.4f} {y1-np.pi:>8.5f} {y2:>7.4f} {y2-np.pi:>8.5f}")
f(x) = sqrt(4-x**2) n daikei error1 simpson error2 2 2.0000 -1.14159 2.0000 -1.14159 3 2.7321 -0.40954 2.9761 -0.16552 4 2.9176 -0.22404 3.0322 -0.10935 5 2.9957 -0.14588 3.0836 -0.05800 6 3.0370 -0.10454 3.1000 -0.04158 7 3.0620 -0.07961 3.1101 -0.03147 8 3.0784 -0.06322 3.1166 -0.02497 9 3.0898 -0.05177 3.1212 -0.02040 10 3.0982 -0.04341 3.1245 -0.01709 11 3.1045 -0.03707 3.1270 -0.01458 12 3.1094 -0.03214 3.1290 -0.01264 13 3.1134 -0.02822 3.1305 -0.01109 14 3.1166 -0.02503 3.1318 -0.00983 15 3.1192 -0.02240 3.1328 -0.00879 16 3.1214 -0.02020 3.1337 -0.00793 17 3.1233 -0.01834 3.1344 -0.00719 18 3.1248 -0.01675 3.1350 -0.00657 19 3.1262 -0.01537 3.1356 -0.00603 20 3.1274 -0.01418 3.1360 -0.00556 21 3.1285 -0.01313 3.1364 -0.00515 22 3.1294 -0.01220 3.1368 -0.00478 23 3.1302 -0.01138 3.1371 -0.00446 24 3.1309 -0.01065 3.1374 -0.00417 25 3.1316 -0.00999 3.1377 -0.00391 26 3.1322 -0.00940 3.1379 -0.00368 27 3.1327 -0.00886 3.1381 -0.00347 28 3.1332 -0.00837 3.1383 -0.00328 29 3.1337 -0.00793 3.1385 -0.00310 30 3.1341 -0.00752 3.1386 -0.00295 31 3.1344 -0.00715 3.1388 -0.00280 32 3.1348 -0.00681 3.1389 -0.00266 33 3.1351 -0.00649 3.1391 -0.00254 34 3.1354 -0.00620 3.1392 -0.00243 35 3.1357 -0.00593 3.1393 -0.00232 36 3.1359 -0.00567 3.1394 -0.00222 37 3.1362 -0.00544 3.1395 -0.00213 38 3.1364 -0.00522 3.1395 -0.00204 39 3.1366 -0.00502 3.1396 -0.00196 40 3.1368 -0.00482 3.1397 -0.00189 41 3.1369 -0.00464 3.1398 -0.00182 42 3.1371 -0.00448 3.1398 -0.00175 43 3.1373 -0.00432 3.1399 -0.00169 44 3.1374 -0.00417 3.1400 -0.00163 45 3.1376 -0.00403 3.1400 -0.00158 46 3.1377 -0.00389 3.1401 -0.00152 47 3.1378 -0.00377 3.1401 -0.00147 48 3.1379 -0.00365 3.1402 -0.00143 49 3.1381 -0.00353 3.1402 -0.00138 50 3.1382 -0.00343 3.1403 -0.00134 51 3.1383 -0.00332 3.1403 -0.00130 52 3.1384 -0.00323 3.1403 -0.00126 53 3.1385 -0.00313 3.1404 -0.00123 54 3.1385 -0.00305 3.1404 -0.00119 55 3.1386 -0.00296 3.1404 -0.00116 56 3.1387 -0.00288 3.1405 -0.00113 57 3.1388 -0.00280 3.1405 -0.00110 58 3.1389 -0.00273 3.1405 -0.00107 59 3.1389 -0.00266 3.1406 -0.00104 60 3.1390 -0.00259 3.1406 -0.00101 61 3.1391 -0.00253 3.1406 -0.00099 62 3.1391 -0.00247 3.1406 -0.00096 63 3.1392 -0.00241 3.1407 -0.00094 64 3.1392 -0.00235 3.1407 -0.00092 65 3.1393 -0.00230 3.1407 -0.00090 66 3.1393 -0.00224 3.1407 -0.00088 67 3.1394 -0.00219 3.1407 -0.00086 68 3.1394 -0.00214 3.1408 -0.00084 69 3.1395 -0.00210 3.1408 -0.00082 70 3.1395 -0.00205 3.1408 -0.00080 71 3.1396 -0.00201 3.1408 -0.00078 72 3.1396 -0.00196 3.1408 -0.00077 73 3.1397 -0.00192 3.1408 -0.00075 74 3.1397 -0.00188 3.1409 -0.00074 75 3.1397 -0.00185 3.1409 -0.00072 76 3.1398 -0.00181 3.1409 -0.00071 77 3.1398 -0.00177 3.1409 -0.00069 78 3.1399 -0.00174 3.1409 -0.00068 79 3.1399 -0.00171 3.1409 -0.00067 80 3.1399 -0.00167 3.1409 -0.00065 81 3.1399 -0.00164 3.1410 -0.00064 82 3.1400 -0.00161 3.1410 -0.00063 83 3.1400 -0.00158 3.1410 -0.00062 84 3.1400 -0.00155 3.1410 -0.00061 85 3.1401 -0.00153 3.1410 -0.00060 86 3.1401 -0.00150 3.1410 -0.00059 87 3.1401 -0.00147 3.1410 -0.00058 88 3.1401 -0.00145 3.1410 -0.00057 89 3.1402 -0.00142 3.1410 -0.00056 90 3.1402 -0.00140 3.1410 -0.00055 91 3.1402 -0.00138 3.1411 -0.00054 92 3.1402 -0.00135 3.1411 -0.00053 93 3.1403 -0.00133 3.1411 -0.00052 94 3.1403 -0.00131 3.1411 -0.00051 95 3.1403 -0.00129 3.1411 -0.00050 96 3.1403 -0.00127 3.1411 -0.00050 97 3.1403 -0.00125 3.1411 -0.00049 98 3.1404 -0.00123 3.1411 -0.00048 99 3.1404 -0.00121 3.1411 -0.00047 100 3.1404 -0.00119 3.1411 -0.00047
df = pd.DataFrame({'daikei':[],'error1':[],'simpson':[],'error2':[],})
for i in range(2,nx):
n = i
h = (b-a)/(n-1)
xx = np.linspace(a,b,n)
yy1 = daikei_f(func3, a, b, n)
yy2 = simpson_f(func3, a, b, n)
yy3 = integrate.quad(func3, a, b)[0]
df1 = pd.DataFrame({'daikei':[yy1,],'error1':[yy1-np.pi,],
'simpson':[yy2,],'error2':[yy2-np.pi,]})
df = pd.concat([df, df1])
df.style.format({"error1":"{:.4f}", "error2":"{:.4f}"})
daikei | error1 | simpson | error2 | |
---|---|---|---|---|
0 | 2.000000 | -1.1416 | 2.000000 | -1.1416 |
0 | 2.732051 | -0.4095 | 2.976068 | -0.1655 |
0 | 2.917553 | -0.2240 | 3.032248 | -0.1093 |
0 | 2.995709 | -0.1459 | 3.083595 | -0.0580 |
0 | 3.037049 | -0.1045 | 3.100013 | -0.0416 |
0 | 3.061983 | -0.0796 | 3.110126 | -0.0315 |
0 | 3.078372 | -0.0632 | 3.116625 | -0.0250 |
0 | 3.089819 | -0.0518 | 3.121189 | -0.0204 |
0 | 3.098185 | -0.0434 | 3.124498 | -0.0171 |
0 | 3.104518 | -0.0371 | 3.127008 | -0.0146 |
0 | 3.109448 | -0.0321 | 3.128954 | -0.0126 |
0 | 3.113375 | -0.0282 | 3.130506 | -0.0111 |
0 | 3.116562 | -0.0250 | 3.131762 | -0.0098 |
0 | 3.119192 | -0.0224 | 3.132799 | -0.0088 |
0 | 3.121391 | -0.0202 | 3.133665 | -0.0079 |
0 | 3.123253 | -0.0183 | 3.134398 | -0.0072 |
0 | 3.124845 | -0.0167 | 3.135024 | -0.0066 |
0 | 3.126220 | -0.0154 | 3.135565 | -0.0060 |
0 | 3.127416 | -0.0142 | 3.136035 | -0.0056 |
0 | 3.128465 | -0.0131 | 3.136447 | -0.0051 |
0 | 3.129390 | -0.0122 | 3.136811 | -0.0048 |
0 | 3.130212 | -0.0114 | 3.137133 | -0.0045 |
0 | 3.130946 | -0.0106 | 3.137421 | -0.0042 |
0 | 3.131603 | -0.0100 | 3.137680 | -0.0039 |
0 | 3.132196 | -0.0094 | 3.137912 | -0.0037 |
0 | 3.132733 | -0.0089 | 3.138123 | -0.0035 |
0 | 3.133220 | -0.0084 | 3.138314 | -0.0033 |
0 | 3.133664 | -0.0079 | 3.138488 | -0.0031 |
0 | 3.134070 | -0.0075 | 3.138648 | -0.0029 |
0 | 3.134443 | -0.0071 | 3.138794 | -0.0028 |
0 | 3.134786 | -0.0068 | 3.138928 | -0.0027 |
0 | 3.135102 | -0.0065 | 3.139052 | -0.0025 |
0 | 3.135395 | -0.0062 | 3.139167 | -0.0024 |
0 | 3.135666 | -0.0059 | 3.139273 | -0.0023 |
0 | 3.135918 | -0.0057 | 3.139372 | -0.0022 |
0 | 3.136153 | -0.0054 | 3.139464 | -0.0021 |
0 | 3.136372 | -0.0052 | 3.139550 | -0.0020 |
0 | 3.136576 | -0.0050 | 3.139630 | -0.0020 |
0 | 3.136768 | -0.0048 | 3.139705 | -0.0019 |
0 | 3.136948 | -0.0046 | 3.139775 | -0.0018 |
0 | 3.137117 | -0.0045 | 3.139841 | -0.0018 |
0 | 3.137275 | -0.0043 | 3.139904 | -0.0017 |
0 | 3.137425 | -0.0042 | 3.139962 | -0.0016 |
0 | 3.137566 | -0.0040 | 3.140018 | -0.0016 |
0 | 3.137700 | -0.0039 | 3.140070 | -0.0015 |
0 | 3.137826 | -0.0038 | 3.140119 | -0.0015 |
0 | 3.137945 | -0.0036 | 3.140166 | -0.0014 |
0 | 3.138059 | -0.0035 | 3.140210 | -0.0014 |
0 | 3.138166 | -0.0034 | 3.140253 | -0.0013 |
0 | 3.138269 | -0.0033 | 3.140293 | -0.0013 |
0 | 3.138366 | -0.0032 | 3.140331 | -0.0013 |
0 | 3.138458 | -0.0031 | 3.140367 | -0.0012 |
0 | 3.138547 | -0.0030 | 3.140401 | -0.0012 |
0 | 3.138631 | -0.0030 | 3.140434 | -0.0012 |
0 | 3.138711 | -0.0029 | 3.140466 | -0.0011 |
0 | 3.138788 | -0.0028 | 3.140496 | -0.0011 |
0 | 3.138861 | -0.0027 | 3.140525 | -0.0011 |
0 | 3.138932 | -0.0027 | 3.140552 | -0.0010 |
0 | 3.138999 | -0.0026 | 3.140579 | -0.0010 |
0 | 3.139064 | -0.0025 | 3.140604 | -0.0010 |
0 | 3.139126 | -0.0025 | 3.140628 | -0.0010 |
0 | 3.139185 | -0.0024 | 3.140651 | -0.0009 |
0 | 3.139242 | -0.0024 | 3.140674 | -0.0009 |
0 | 3.139297 | -0.0023 | 3.140695 | -0.0009 |
0 | 3.139350 | -0.0022 | 3.140716 | -0.0009 |
0 | 3.139400 | -0.0022 | 3.140736 | -0.0009 |
0 | 3.139449 | -0.0021 | 3.140755 | -0.0008 |
0 | 3.139496 | -0.0021 | 3.140773 | -0.0008 |
0 | 3.139542 | -0.0021 | 3.140791 | -0.0008 |
0 | 3.139586 | -0.0020 | 3.140808 | -0.0008 |
0 | 3.139628 | -0.0020 | 3.140825 | -0.0008 |
0 | 3.139669 | -0.0019 | 3.140840 | -0.0008 |
0 | 3.139708 | -0.0019 | 3.140856 | -0.0007 |
0 | 3.139746 | -0.0018 | 3.140871 | -0.0007 |
0 | 3.139783 | -0.0018 | 3.140885 | -0.0007 |
0 | 3.139818 | -0.0018 | 3.140899 | -0.0007 |
0 | 3.139853 | -0.0017 | 3.140913 | -0.0007 |
0 | 3.139886 | -0.0017 | 3.140926 | -0.0007 |
0 | 3.139919 | -0.0017 | 3.140938 | -0.0007 |
0 | 3.139950 | -0.0016 | 3.140950 | -0.0006 |
0 | 3.139980 | -0.0016 | 3.140962 | -0.0006 |
0 | 3.140010 | -0.0016 | 3.140974 | -0.0006 |
0 | 3.140038 | -0.0016 | 3.140985 | -0.0006 |
0 | 3.140066 | -0.0015 | 3.140996 | -0.0006 |
0 | 3.140093 | -0.0015 | 3.141006 | -0.0006 |
0 | 3.140119 | -0.0015 | 3.141017 | -0.0006 |
0 | 3.140144 | -0.0014 | 3.141026 | -0.0006 |
0 | 3.140169 | -0.0014 | 3.141036 | -0.0006 |
0 | 3.140193 | -0.0014 | 3.141045 | -0.0005 |
0 | 3.140216 | -0.0014 | 3.141055 | -0.0005 |
0 | 3.140238 | -0.0014 | 3.141063 | -0.0005 |
0 | 3.140260 | -0.0013 | 3.141072 | -0.0005 |
0 | 3.140282 | -0.0013 | 3.141080 | -0.0005 |
0 | 3.140303 | -0.0013 | 3.141089 | -0.0005 |
0 | 3.140323 | -0.0013 | 3.141096 | -0.0005 |
0 | 3.140343 | -0.0012 | 3.141104 | -0.0005 |
0 | 3.140362 | -0.0012 | 3.141112 | -0.0005 |
0 | 3.140381 | -0.0012 | 3.141119 | -0.0005 |
0 | 3.140399 | -0.0012 | 3.141126 | -0.0005 |
y4n = np.trapz(ff, xx) # Numpyの台形公式 (trapezoidal rule)
print("np.trapz: ",y4n,y4n-np.pi) # 積分値と誤差
np.trapz: 3.140399178114616 -0.0011934754751772303
y4 = integrate.trapz(ff, xx) # Scipyの台形公式 (trapezoidal rule)
print("integrate.trapz: ",y4,y4-np.pi) # 積分値と誤差
integrate.trapz: 3.140399178114616 -0.0011934754751772303
y5 = integrate.simps(ff, xx) # シンプソンの公式 (Simpson's rule)
print("integrate.simps: ",y5,y5-np.pi) # 積分値と誤差
integrate.simps: 3.140908185461922 -0.0006844681278712628
y3 = integrate.quad(func3, a, b) # 1次元積分(適応積分)
print("integrate.quad :",y3,y3[0]-np.pi) # 積分値と推定誤差
integrate.quad : (3.1415926535897922, 3.533555670287569e-10) -8.881784197001252e-16
fig = plt.figure() # グラフ領域の作成
plt.plot(xx,ff)
plt.axis('square')
fig.savefig('p2_ex03_1.pdf')
2重積分¶
def func33(y,x): # 2変数の被積分関数
f = np.sqrt(x**2+y**2)
return f
x_min, x_max = 0.0, 1.0
y33 = integrate.dblquad(func33, x_min, x_max, 0.0, lambda x: np.sqrt(1-x**2)) # 2次元の積分
print("integrate.dblquad:",y33) # 積分値と推定誤差
print("sol=",1.0/6.0*np.pi,", error=",y33[0]-1.0/6.0*np.pi)
integrate.dblquad: (0.523598775598105, 1.4792291007749228e-08) sol= 0.5235987755982988 , error= -1.9384494009955233e-13
n = 41
x = np.linspace(-0.5, 1.5, n)
y = np.linspace(-1, 1, n)
X,Y = np.meshgrid(x, y)
v = np.linspace(0, 2, 101)
fig = plt.figure()
plt.xlabel(r"$x$") # x軸のラベル設定
plt.ylabel(r"$y$") # y軸のラベル設定
Cf = plt.contourf(X, Y, func33(Y, X), 8, levels=v, alpha=1.0, cmap="rainbow") # plt.cm.hot
C = plt.contour(X, Y, func33(Y, X), 8, colors='gray', linewidths=0.8)
cbar = plt.colorbar(Cf, pad=0.1, shrink=1.0, orientation="vertical", ticks=[0,0.5, 1, 1.5, 2])
#cbar = plt.colorbar(Cf, pad=0.15, shrink=0.6, orientation="horizontal", ticks=[0,0.5, 1, 1.5, 2])
plt.clabel(C, inline=1, fontsize=12)
plt.axis('square')
fig.savefig('p2_ex03_2.pdf')
plt.show()
def table_xy(ss,x1,x2,aaa,nc):
n1,n2 = np.shape(aaa)
n_n2 = n2//nc+1
for m in range(n_n2):
print(f'({m+1:>3d}/{n_n2:>3d})')
if n2 > nc*(m+1):
m2 = nc
else:
m2 = np.mod(n2,nc)
print(f'{ss:>8s}',end='')
[print(f'{x2[j+m*nc]:>8.3f}',end='') for j in range(m2)]
print('')
for i in range(n1):
print(f'{x1[i]:>8.3f}',end='')
[print(f'{aaa[i,j+m*nc]:8.3f}',end='') for j in range(m2)]
print('')
print('')
return
aaa = func33(Y, X)
table_xy('y | x',y,x,aaa,nc=11-7)
( 1/ 11) y | x -0.500 -0.450 -0.400 -0.350 -1.000 1.118 1.097 1.077 1.059 -0.950 1.074 1.051 1.031 1.012 -0.900 1.030 1.006 0.985 0.966 -0.850 0.986 0.962 0.939 0.919 -0.800 0.943 0.918 0.894 0.873 -0.750 0.901 0.875 0.850 0.828 -0.700 0.860 0.832 0.806 0.783 -0.650 0.820 0.791 0.763 0.738 -0.600 0.781 0.750 0.721 0.695 -0.550 0.743 0.711 0.680 0.652 -0.500 0.707 0.673 0.640 0.610 -0.450 0.673 0.636 0.602 0.570 -0.400 0.640 0.602 0.566 0.532 -0.350 0.610 0.570 0.532 0.495 -0.300 0.583 0.541 0.500 0.461 -0.250 0.559 0.515 0.472 0.430 -0.200 0.539 0.492 0.447 0.403 -0.150 0.522 0.474 0.427 0.381 -0.100 0.510 0.461 0.412 0.364 -0.050 0.502 0.453 0.403 0.354 0.000 0.500 0.450 0.400 0.350 0.050 0.502 0.453 0.403 0.354 0.100 0.510 0.461 0.412 0.364 0.150 0.522 0.474 0.427 0.381 0.200 0.539 0.492 0.447 0.403 0.250 0.559 0.515 0.472 0.430 0.300 0.583 0.541 0.500 0.461 0.350 0.610 0.570 0.532 0.495 0.400 0.640 0.602 0.566 0.532 0.450 0.673 0.636 0.602 0.570 0.500 0.707 0.673 0.640 0.610 0.550 0.743 0.711 0.680 0.652 0.600 0.781 0.750 0.721 0.695 0.650 0.820 0.791 0.763 0.738 0.700 0.860 0.832 0.806 0.783 0.750 0.901 0.875 0.850 0.828 0.800 0.943 0.918 0.894 0.873 0.850 0.986 0.962 0.939 0.919 0.900 1.030 1.006 0.985 0.966 0.950 1.074 1.051 1.031 1.012 1.000 1.118 1.097 1.077 1.059 ( 2/ 11) y | x -0.300 -0.250 -0.200 -0.150 -1.000 1.044 1.031 1.020 1.011 -0.950 0.996 0.982 0.971 0.962 -0.900 0.949 0.934 0.922 0.912 -0.850 0.901 0.886 0.873 0.863 -0.800 0.854 0.838 0.825 0.814 -0.750 0.808 0.791 0.776 0.765 -0.700 0.762 0.743 0.728 0.716 -0.650 0.716 0.696 0.680 0.667 -0.600 0.671 0.650 0.632 0.618 -0.550 0.626 0.604 0.585 0.570 -0.500 0.583 0.559 0.539 0.522 -0.450 0.541 0.515 0.492 0.474 -0.400 0.500 0.472 0.447 0.427 -0.350 0.461 0.430 0.403 0.381 -0.300 0.424 0.391 0.361 0.335 -0.250 0.391 0.354 0.320 0.292 -0.200 0.361 0.320 0.283 0.250 -0.150 0.335 0.292 0.250 0.212 -0.100 0.316 0.269 0.224 0.180 -0.050 0.304 0.255 0.206 0.158 0.000 0.300 0.250 0.200 0.150 0.050 0.304 0.255 0.206 0.158 0.100 0.316 0.269 0.224 0.180 0.150 0.335 0.292 0.250 0.212 0.200 0.361 0.320 0.283 0.250 0.250 0.391 0.354 0.320 0.292 0.300 0.424 0.391 0.361 0.335 0.350 0.461 0.430 0.403 0.381 0.400 0.500 0.472 0.447 0.427 0.450 0.541 0.515 0.492 0.474 0.500 0.583 0.559 0.539 0.522 0.550 0.626 0.604 0.585 0.570 0.600 0.671 0.650 0.632 0.618 0.650 0.716 0.696 0.680 0.667 0.700 0.762 0.743 0.728 0.716 0.750 0.808 0.791 0.776 0.765 0.800 0.854 0.838 0.825 0.814 0.850 0.901 0.886 0.873 0.863 0.900 0.949 0.934 0.922 0.912 0.950 0.996 0.982 0.971 0.962 1.000 1.044 1.031 1.020 1.011 ( 3/ 11) y | x -0.100 -0.050 0.000 0.050 -1.000 1.005 1.001 1.000 1.001 -0.950 0.955 0.951 0.950 0.951 -0.900 0.906 0.901 0.900 0.901 -0.850 0.856 0.851 0.850 0.851 -0.800 0.806 0.802 0.800 0.802 -0.750 0.757 0.752 0.750 0.752 -0.700 0.707 0.702 0.700 0.702 -0.650 0.658 0.652 0.650 0.652 -0.600 0.608 0.602 0.600 0.602 -0.550 0.559 0.552 0.550 0.552 -0.500 0.510 0.502 0.500 0.502 -0.450 0.461 0.453 0.450 0.453 -0.400 0.412 0.403 0.400 0.403 -0.350 0.364 0.354 0.350 0.354 -0.300 0.316 0.304 0.300 0.304 -0.250 0.269 0.255 0.250 0.255 -0.200 0.224 0.206 0.200 0.206 -0.150 0.180 0.158 0.150 0.158 -0.100 0.141 0.112 0.100 0.112 -0.050 0.112 0.071 0.050 0.071 0.000 0.100 0.050 0.000 0.050 0.050 0.112 0.071 0.050 0.071 0.100 0.141 0.112 0.100 0.112 0.150 0.180 0.158 0.150 0.158 0.200 0.224 0.206 0.200 0.206 0.250 0.269 0.255 0.250 0.255 0.300 0.316 0.304 0.300 0.304 0.350 0.364 0.354 0.350 0.354 0.400 0.412 0.403 0.400 0.403 0.450 0.461 0.453 0.450 0.453 0.500 0.510 0.502 0.500 0.502 0.550 0.559 0.552 0.550 0.552 0.600 0.608 0.602 0.600 0.602 0.650 0.658 0.652 0.650 0.652 0.700 0.707 0.702 0.700 0.702 0.750 0.757 0.752 0.750 0.752 0.800 0.806 0.802 0.800 0.802 0.850 0.856 0.851 0.850 0.851 0.900 0.906 0.901 0.900 0.901 0.950 0.955 0.951 0.950 0.951 1.000 1.005 1.001 1.000 1.001 ( 4/ 11) y | x 0.100 0.150 0.200 0.250 -1.000 1.005 1.011 1.020 1.031 -0.950 0.955 0.962 0.971 0.982 -0.900 0.906 0.912 0.922 0.934 -0.850 0.856 0.863 0.873 0.886 -0.800 0.806 0.814 0.825 0.838 -0.750 0.757 0.765 0.776 0.791 -0.700 0.707 0.716 0.728 0.743 -0.650 0.658 0.667 0.680 0.696 -0.600 0.608 0.618 0.632 0.650 -0.550 0.559 0.570 0.585 0.604 -0.500 0.510 0.522 0.539 0.559 -0.450 0.461 0.474 0.492 0.515 -0.400 0.412 0.427 0.447 0.472 -0.350 0.364 0.381 0.403 0.430 -0.300 0.316 0.335 0.361 0.391 -0.250 0.269 0.292 0.320 0.354 -0.200 0.224 0.250 0.283 0.320 -0.150 0.180 0.212 0.250 0.292 -0.100 0.141 0.180 0.224 0.269 -0.050 0.112 0.158 0.206 0.255 0.000 0.100 0.150 0.200 0.250 0.050 0.112 0.158 0.206 0.255 0.100 0.141 0.180 0.224 0.269 0.150 0.180 0.212 0.250 0.292 0.200 0.224 0.250 0.283 0.320 0.250 0.269 0.292 0.320 0.354 0.300 0.316 0.335 0.361 0.391 0.350 0.364 0.381 0.403 0.430 0.400 0.412 0.427 0.447 0.472 0.450 0.461 0.474 0.492 0.515 0.500 0.510 0.522 0.539 0.559 0.550 0.559 0.570 0.585 0.604 0.600 0.608 0.618 0.632 0.650 0.650 0.658 0.667 0.680 0.696 0.700 0.707 0.716 0.728 0.743 0.750 0.757 0.765 0.776 0.791 0.800 0.806 0.814 0.825 0.838 0.850 0.856 0.863 0.873 0.886 0.900 0.906 0.912 0.922 0.934 0.950 0.955 0.962 0.971 0.982 1.000 1.005 1.011 1.020 1.031 ( 5/ 11) y | x 0.300 0.350 0.400 0.450 -1.000 1.044 1.059 1.077 1.097 -0.950 0.996 1.012 1.031 1.051 -0.900 0.949 0.966 0.985 1.006 -0.850 0.901 0.919 0.939 0.962 -0.800 0.854 0.873 0.894 0.918 -0.750 0.808 0.828 0.850 0.875 -0.700 0.762 0.783 0.806 0.832 -0.650 0.716 0.738 0.763 0.791 -0.600 0.671 0.695 0.721 0.750 -0.550 0.626 0.652 0.680 0.711 -0.500 0.583 0.610 0.640 0.673 -0.450 0.541 0.570 0.602 0.636 -0.400 0.500 0.532 0.566 0.602 -0.350 0.461 0.495 0.532 0.570 -0.300 0.424 0.461 0.500 0.541 -0.250 0.391 0.430 0.472 0.515 -0.200 0.361 0.403 0.447 0.492 -0.150 0.335 0.381 0.427 0.474 -0.100 0.316 0.364 0.412 0.461 -0.050 0.304 0.354 0.403 0.453 0.000 0.300 0.350 0.400 0.450 0.050 0.304 0.354 0.403 0.453 0.100 0.316 0.364 0.412 0.461 0.150 0.335 0.381 0.427 0.474 0.200 0.361 0.403 0.447 0.492 0.250 0.391 0.430 0.472 0.515 0.300 0.424 0.461 0.500 0.541 0.350 0.461 0.495 0.532 0.570 0.400 0.500 0.532 0.566 0.602 0.450 0.541 0.570 0.602 0.636 0.500 0.583 0.610 0.640 0.673 0.550 0.626 0.652 0.680 0.711 0.600 0.671 0.695 0.721 0.750 0.650 0.716 0.738 0.763 0.791 0.700 0.762 0.783 0.806 0.832 0.750 0.808 0.828 0.850 0.875 0.800 0.854 0.873 0.894 0.918 0.850 0.901 0.919 0.939 0.962 0.900 0.949 0.966 0.985 1.006 0.950 0.996 1.012 1.031 1.051 1.000 1.044 1.059 1.077 1.097 ( 6/ 11) y | x 0.500 0.550 0.600 0.650 -1.000 1.118 1.141 1.166 1.193 -0.950 1.074 1.098 1.124 1.151 -0.900 1.030 1.055 1.082 1.110 -0.850 0.986 1.012 1.040 1.070 -0.800 0.943 0.971 1.000 1.031 -0.750 0.901 0.930 0.960 0.992 -0.700 0.860 0.890 0.922 0.955 -0.650 0.820 0.851 0.885 0.919 -0.600 0.781 0.814 0.849 0.885 -0.550 0.743 0.778 0.814 0.851 -0.500 0.707 0.743 0.781 0.820 -0.450 0.673 0.711 0.750 0.791 -0.400 0.640 0.680 0.721 0.763 -0.350 0.610 0.652 0.695 0.738 -0.300 0.583 0.626 0.671 0.716 -0.250 0.559 0.604 0.650 0.696 -0.200 0.539 0.585 0.632 0.680 -0.150 0.522 0.570 0.618 0.667 -0.100 0.510 0.559 0.608 0.658 -0.050 0.502 0.552 0.602 0.652 0.000 0.500 0.550 0.600 0.650 0.050 0.502 0.552 0.602 0.652 0.100 0.510 0.559 0.608 0.658 0.150 0.522 0.570 0.618 0.667 0.200 0.539 0.585 0.632 0.680 0.250 0.559 0.604 0.650 0.696 0.300 0.583 0.626 0.671 0.716 0.350 0.610 0.652 0.695 0.738 0.400 0.640 0.680 0.721 0.763 0.450 0.673 0.711 0.750 0.791 0.500 0.707 0.743 0.781 0.820 0.550 0.743 0.778 0.814 0.851 0.600 0.781 0.814 0.849 0.885 0.650 0.820 0.851 0.885 0.919 0.700 0.860 0.890 0.922 0.955 0.750 0.901 0.930 0.960 0.992 0.800 0.943 0.971 1.000 1.031 0.850 0.986 1.012 1.040 1.070 0.900 1.030 1.055 1.082 1.110 0.950 1.074 1.098 1.124 1.151 1.000 1.118 1.141 1.166 1.193 ( 7/ 11) y | x 0.700 0.750 0.800 0.850 -1.000 1.221 1.250 1.281 1.312 -0.950 1.180 1.210 1.242 1.275 -0.900 1.140 1.172 1.204 1.238 -0.850 1.101 1.134 1.167 1.202 -0.800 1.063 1.097 1.131 1.167 -0.750 1.026 1.061 1.097 1.134 -0.700 0.990 1.026 1.063 1.101 -0.650 0.955 0.992 1.031 1.070 -0.600 0.922 0.960 1.000 1.040 -0.550 0.890 0.930 0.971 1.012 -0.500 0.860 0.901 0.943 0.986 -0.450 0.832 0.875 0.918 0.962 -0.400 0.806 0.850 0.894 0.939 -0.350 0.783 0.828 0.873 0.919 -0.300 0.762 0.808 0.854 0.901 -0.250 0.743 0.791 0.838 0.886 -0.200 0.728 0.776 0.825 0.873 -0.150 0.716 0.765 0.814 0.863 -0.100 0.707 0.757 0.806 0.856 -0.050 0.702 0.752 0.802 0.851 0.000 0.700 0.750 0.800 0.850 0.050 0.702 0.752 0.802 0.851 0.100 0.707 0.757 0.806 0.856 0.150 0.716 0.765 0.814 0.863 0.200 0.728 0.776 0.825 0.873 0.250 0.743 0.791 0.838 0.886 0.300 0.762 0.808 0.854 0.901 0.350 0.783 0.828 0.873 0.919 0.400 0.806 0.850 0.894 0.939 0.450 0.832 0.875 0.918 0.962 0.500 0.860 0.901 0.943 0.986 0.550 0.890 0.930 0.971 1.012 0.600 0.922 0.960 1.000 1.040 0.650 0.955 0.992 1.031 1.070 0.700 0.990 1.026 1.063 1.101 0.750 1.026 1.061 1.097 1.134 0.800 1.063 1.097 1.131 1.167 0.850 1.101 1.134 1.167 1.202 0.900 1.140 1.172 1.204 1.238 0.950 1.180 1.210 1.242 1.275 1.000 1.221 1.250 1.281 1.312 ( 8/ 11) y | x 0.900 0.950 1.000 1.050 -1.000 1.345 1.379 1.414 1.450 -0.950 1.309 1.344 1.379 1.416 -0.900 1.273 1.309 1.345 1.383 -0.850 1.238 1.275 1.312 1.351 -0.800 1.204 1.242 1.281 1.320 -0.750 1.172 1.210 1.250 1.290 -0.700 1.140 1.180 1.221 1.262 -0.650 1.110 1.151 1.193 1.235 -0.600 1.082 1.124 1.166 1.209 -0.550 1.055 1.098 1.141 1.185 -0.500 1.030 1.074 1.118 1.163 -0.450 1.006 1.051 1.097 1.142 -0.400 0.985 1.031 1.077 1.124 -0.350 0.966 1.012 1.059 1.107 -0.300 0.949 0.996 1.044 1.092 -0.250 0.934 0.982 1.031 1.079 -0.200 0.922 0.971 1.020 1.069 -0.150 0.912 0.962 1.011 1.061 -0.100 0.906 0.955 1.005 1.055 -0.050 0.901 0.951 1.001 1.051 0.000 0.900 0.950 1.000 1.050 0.050 0.901 0.951 1.001 1.051 0.100 0.906 0.955 1.005 1.055 0.150 0.912 0.962 1.011 1.061 0.200 0.922 0.971 1.020 1.069 0.250 0.934 0.982 1.031 1.079 0.300 0.949 0.996 1.044 1.092 0.350 0.966 1.012 1.059 1.107 0.400 0.985 1.031 1.077 1.124 0.450 1.006 1.051 1.097 1.142 0.500 1.030 1.074 1.118 1.163 0.550 1.055 1.098 1.141 1.185 0.600 1.082 1.124 1.166 1.209 0.650 1.110 1.151 1.193 1.235 0.700 1.140 1.180 1.221 1.262 0.750 1.172 1.210 1.250 1.290 0.800 1.204 1.242 1.281 1.320 0.850 1.238 1.275 1.312 1.351 0.900 1.273 1.309 1.345 1.383 0.950 1.309 1.344 1.379 1.416 1.000 1.345 1.379 1.414 1.450 ( 9/ 11) y | x 1.100 1.150 1.200 1.250 -1.000 1.487 1.524 1.562 1.601 -0.950 1.453 1.492 1.531 1.570 -0.900 1.421 1.460 1.500 1.540 -0.850 1.390 1.430 1.471 1.512 -0.800 1.360 1.401 1.442 1.484 -0.750 1.331 1.373 1.415 1.458 -0.700 1.304 1.346 1.389 1.433 -0.650 1.278 1.321 1.365 1.409 -0.600 1.253 1.297 1.342 1.387 -0.550 1.230 1.275 1.320 1.366 -0.500 1.208 1.254 1.300 1.346 -0.450 1.188 1.235 1.282 1.329 -0.400 1.170 1.218 1.265 1.312 -0.350 1.154 1.202 1.250 1.298 -0.300 1.140 1.188 1.237 1.285 -0.250 1.128 1.177 1.226 1.275 -0.200 1.118 1.167 1.217 1.266 -0.150 1.110 1.160 1.209 1.259 -0.100 1.105 1.154 1.204 1.254 -0.050 1.101 1.151 1.201 1.251 0.000 1.100 1.150 1.200 1.250 0.050 1.101 1.151 1.201 1.251 0.100 1.105 1.154 1.204 1.254 0.150 1.110 1.160 1.209 1.259 0.200 1.118 1.167 1.217 1.266 0.250 1.128 1.177 1.226 1.275 0.300 1.140 1.188 1.237 1.285 0.350 1.154 1.202 1.250 1.298 0.400 1.170 1.218 1.265 1.312 0.450 1.188 1.235 1.282 1.329 0.500 1.208 1.254 1.300 1.346 0.550 1.230 1.275 1.320 1.366 0.600 1.253 1.297 1.342 1.387 0.650 1.278 1.321 1.365 1.409 0.700 1.304 1.346 1.389 1.433 0.750 1.331 1.373 1.415 1.458 0.800 1.360 1.401 1.442 1.484 0.850 1.390 1.430 1.471 1.512 0.900 1.421 1.460 1.500 1.540 0.950 1.453 1.492 1.531 1.570 1.000 1.487 1.524 1.562 1.601 ( 10/ 11) y | x 1.300 1.350 1.400 1.450 -1.000 1.640 1.680 1.720 1.761 -0.950 1.610 1.651 1.692 1.733 -0.900 1.581 1.622 1.664 1.707 -0.850 1.553 1.595 1.638 1.681 -0.800 1.526 1.569 1.612 1.656 -0.750 1.501 1.544 1.588 1.632 -0.700 1.476 1.521 1.565 1.610 -0.650 1.453 1.498 1.544 1.589 -0.600 1.432 1.477 1.523 1.569 -0.550 1.412 1.458 1.504 1.551 -0.500 1.393 1.440 1.487 1.534 -0.450 1.376 1.423 1.471 1.518 -0.400 1.360 1.408 1.456 1.504 -0.350 1.346 1.395 1.443 1.492 -0.300 1.334 1.383 1.432 1.481 -0.250 1.324 1.373 1.422 1.471 -0.200 1.315 1.365 1.414 1.464 -0.150 1.309 1.358 1.408 1.458 -0.100 1.304 1.354 1.404 1.453 -0.050 1.301 1.351 1.401 1.451 0.000 1.300 1.350 1.400 1.450 0.050 1.301 1.351 1.401 1.451 0.100 1.304 1.354 1.404 1.453 0.150 1.309 1.358 1.408 1.458 0.200 1.315 1.365 1.414 1.464 0.250 1.324 1.373 1.422 1.471 0.300 1.334 1.383 1.432 1.481 0.350 1.346 1.395 1.443 1.492 0.400 1.360 1.408 1.456 1.504 0.450 1.376 1.423 1.471 1.518 0.500 1.393 1.440 1.487 1.534 0.550 1.412 1.458 1.504 1.551 0.600 1.432 1.477 1.523 1.569 0.650 1.453 1.498 1.544 1.589 0.700 1.476 1.521 1.565 1.610 0.750 1.501 1.544 1.588 1.632 0.800 1.526 1.569 1.612 1.656 0.850 1.553 1.595 1.638 1.681 0.900 1.581 1.622 1.664 1.707 0.950 1.610 1.651 1.692 1.733 1.000 1.640 1.680 1.720 1.761 ( 11/ 11) y | x 1.500 -1.000 1.803 -0.950 1.776 -0.900 1.749 -0.850 1.724 -0.800 1.700 -0.750 1.677 -0.700 1.655 -0.650 1.635 -0.600 1.616 -0.550 1.598 -0.500 1.581 -0.450 1.566 -0.400 1.552 -0.350 1.540 -0.300 1.530 -0.250 1.521 -0.200 1.513 -0.150 1.507 -0.100 1.503 -0.050 1.501 0.000 1.500 0.050 1.501 0.100 1.503 0.150 1.507 0.200 1.513 0.250 1.521 0.300 1.530 0.350 1.540 0.400 1.552 0.450 1.566 0.500 1.581 0.550 1.598 0.600 1.616 0.650 1.635 0.700 1.655 0.750 1.677 0.800 1.700 0.850 1.724 0.900 1.749 0.950 1.776 1.000 1.803