Talaksan:Sine iterations.svg
Mula testwiki
Pumunta sa nabigasyon
Pumunta sa paghahanap
Size of this PNG preview of this SVG file: 720 x 540 na pixel. Ibang resolusyon: 320 x 240 na pixel | 640 x 480 na pixel | 1,024 x 768 na pixel | 1,280 x 960 na pixel | 2,560 x 1,920 na pixel.
Orihinal na file (SVG na file, nominal na 720 × 540 (na) pixel, laki: 37 KB)
Mula sa Wikimedia Commons ang talaksang ito at posibleng magamit sa ibang proyekto. Makikita sa baba ang paglalarawan sa pahina ng paglalarawan nito roon.
Buod
| PaglalarawanSine iterations.svg |
English: Iterates of the sine function (blue), in the first half-period. Half-iterate (orange), i.e., the sine's functional square root; the functional square root of that, the quarter-iterate (black) above it, up until the 1/64 iterate; and six integral iterates below it, starting with the second iterate (red). The green envelope triangle represents the limiting null iterate, the sawtooth function serving as the starting point leading to the sine function. The dashed black function is iterate -1, or the inverse of sine (arc sine).
Python source code: import numpy as np
import matplotlib.pyplot as plt
from scipy import interpolate
x = np.linspace(0, np.pi, 10000)
def double_iter(a):
d = np.array(a)
interpolated = interpolate.interp1d(x, a, kind="linear")
for i in range(len(a)):
d[i] = interpolated(min(x[-1], a[i]))
return d
def improve(candidate, f):
improved = np.empty_like(candidate)
for i in range(len(f)):
naive_newval = np.argmin(np.abs(candidate[:len(f)/2]-f[i])) * np.pi/len(f)
improved[i] = candidate[i] + 0.1*(naive_newval - candidate[i])
return improved
def half_iter(f):
half = np.array(f)
mean_error = float("inf")
while mean_error > 1e-4:
half = improve(half, f)
mean_error = np.mean(np.abs(double_iter(half)-f))
print mean_error
return half
iter_1 = np.sin(x)
iter_minus1 = np.arcsin(x)
iter_0 = np.concatenate((x[0:len(x)/2], np.flipud(x[0:len(x)/2])), axis=1)
iter_2 = double_iter(iter_1)
iter_4 = double_iter(iter_2)
iter_8 = double_iter(iter_4)
iter_16 = double_iter(iter_8)
iter_32 = double_iter(iter_16)
iter_64 = double_iter(iter_32)
iter_1_2 = half_iter(iter_1)
iter_1_4 = half_iter(iter_1_2)
iter_1_8 = half_iter(iter_1_4)
iter_1_16 = half_iter(iter_1_8)
iter_1_32 = half_iter(iter_1_16)
iter_1_64 = half_iter(iter_1_32)
n = 10
plotx = x[::n]
plt.plot(plotx, iter_1[::n],"b",linewidth=2)
plt.plot(plotx, iter_2[::n],"r")
plt.plot(plotx, iter_4[::n],"k")
plt.plot(plotx, iter_8[::n],"k")
plt.plot(plotx, iter_16[::n],"k")
plt.plot(plotx, iter_32[::n],"k")
plt.plot(plotx, iter_64[::n],"k")
plt.plot(plotx, iter_1_2[::n],"orange")
plt.plot(plotx, iter_1_4[::n],"k")
plt.plot(plotx, iter_1_8[::n],"k")
plt.plot(plotx, iter_1_16[::n],"k")
plt.plot(plotx, iter_1_32[::n],"k")
plt.plot(plotx, iter_1_64[::n],"k")
plt.plot(plotx, iter_0[::n],"g")
plt.plot(x, iter_minus1,"k--")
plt.ylim([0,np.pi/2])
plt.xlim([0,np.pi])
plt.tight_layout(pad=0.15)
plt.savefig("Sine_iterations.svg")
|
| Petsa | |
| Pinagmulan | Sariling gawa |
| May-akda | Qorilla |
Lisensiya
Ako, na may karapatang-ari ng akdang ito, ang naglalathala nito alinsunod sa ilalim ng sumusunod na mga lisensya:
Ang talaksang ito ay nakalisensiya sa ilalim ng lisensiyang Creative Commons Atribusyon-Pagpapamahaging Magkatulad 4.0 Pandaigdig.
- Malaya kang:
- para ibahagi – para kopyahin, ipamahagi, at i-transmit ang akda
- para i-remix – para i-adapt ang akda
- Sa ilalim ng mga kondisyong ito:
- atribusyon – Dapat magbigay ka ng isang maayos na pag-credit, ibigay ang link sa lisensiya, at tukuyin kung may mga pagbabagong ginawa. Magagawa mo ito sa isang risonableng paraan, pero hindi sa paraan na para bang ineendorso ka ng naglilisensiya sa'yo o sa paggamit mo nito.
- share alike – Kung mag-remix ka, magbabago, o bumuo sa materyal, dapat mong ipamahagi ang iyong mga kontribusyon sa ilalim ng pareho o katugmang lisensya bilang orihinal.
Captions
Add a one-line explanation of what this file represents
Items portrayed in this file
depicts English
creator English
some value
copyright status English
copyrighted English
3 Abril 2015
source of file English
original creation by uploader English
Nakaraan ng file
Pindutin ang isang petsa/oras para makita ang file noong puntong yon.
| Petsa/Oras | Thumbnail | Sukat | Tagagamit | Komento | |
|---|---|---|---|---|---|
| ngayon | 02:49, 3 Abril 2015 | 720 × 540 (37 KB) | wikimediacommons>Qorilla | User created page with UploadWizard |
Paggamit sa file
Ginagamit ng sumusunod na pahina ang file na ito: