Dosya:Metodo de Newton anime.gif

testwiki sitesinden
Gezinti kısmına atla Arama kısmına atla
Metodo_de_Newton_anime.gif (300 × 300 piksel, dosya boyutu: 31 KB, MIME türü: image/gif, döngüye girdi, 7 kare, 14 sn)

Bu dosya Wikimedia Commons deposunda bulunmaktadır ve diğer projeler tarafından kullanılıyor olabilir. Aşağıda dosya açıklama sayfasındaki açıklama gösteriliyor.

Özet

Açıklama
Português: Animação da interpretação geométrica do método de Newton.
English: Animation of the geometric interpretation of the Newton's method.
Tarih
Kaynak Yükleyenin kendi çalışması
Yazar Picknick

Código fonte

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

'''
Este trabalho está licenciado sob a Licença Creative Commons Atribuição-CompartilhaIgual 3.0 Não Adaptada. Para ver uma cópia desta licença, visite https://creativecommons.org/licenses/by-sa/3.0/ ou envie uma carta para Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.

Author: Picknick - 08/2016
'''

import numpy as np
import scipy as sci
from scipy import optimize
import matplotlib.pyplot as plt
import matplotlib.animation as animation

#canvas
fig = plt.figure(figsize=(3,3), dpi=300, linewidth=0.0, facecolor="white")
#axes definitions
ax = plt.subplot(1,1,1)
ax.set_xlim(-1,3)
ax.set_ylim(-5,30)

ax.set_xticks([])
ax.set_yticks([])

ax.set_frame_on(False)

a = 0.25
b = 2.5

def fun(x):
    return (x+0.5)**3-1

def dfun(x):
    return 3*(x+0.5)**2

def rtan(x,x0):
    return dfun(x0)*(x-x0) + fun(x0)

x = np.array([0.,0.,0.])
x[0] = 2.15
x[1] = x[0] - fun(x[0])/dfun(x[0])
x[2] = x[1] - fun(x[1])/dfun(x[1])

def init():
    global ax
    ax.cla()

    ax.set_xlim(-1,3)
    ax.set_ylim(-5,30)

    ax.set_xticks([])
    ax.set_yticks([])

    ax.set_frame_on(False)

    ax.arrow(-1, 0, 4, 0, length_includes_head=True, facecolor='black', head_length=0.1, head_width=0.5)
    ax.text(2.75,-3.5,r"$x$")

    ax.arrow(0, -2, 0, 31, length_includes_head=True, facecolor='black', head_length=0.5, head_width=0.1)
    ax.text(-0.25, 26, r"$y$")

    xx = np.linspace (a, b)
    ax.plot(xx, fun(xx), lw=1.5)

    xstar = sci.optimize.fsolve(fun,a)
    ax.plot ([xstar, xstar], [0, 0], 'ro', markersize=3)
    ax.text (xstar - 0.25, 0.5, r"$x\!^{*}$")

def update(i):
    global ax, x
    print(i)
    if (i == 0):
        a = x[0]
        ax.plot ([0, a], [fun(a), fun(a)], color='gray', linestyle='dashed')
        ax.plot ([a, a], [fun(a), 0], color='gray', linestyle='dashed')
        ax.plot (a, fun(a), 'ko', markersize=3)
        ax.plot ([a, a], [-0.5, 0.5], color='black')
        ax.plot ([-0.1, 0.1], [fun(a), fun(a)], color='black')
        ax.text (-1, fun(a)-0.1, r"$f(x^{(1)})$")
        ax.text (a - 0.25, -3.5, r"$x^{(1)}$")
        
    if (i == 1):
        xx = np.linspace(x[0]-0.9,x[0]+0.4)
        ax.plot(xx,rtan(xx,x[0]),color="gray",lw=0.75)

    if (i == 2):
        ax.plot ([x[1], x[1]], [-0.5, 0.5], color='black')
        
    if (i == 3):
        a = x[1]
        ax.plot ([0, a], [fun(a), fun(a)], color='gray', linestyle='dashed')
        ax.plot ([a, a], [fun(a), 0], color='gray', linestyle='dashed')
        ax.plot (a, fun(a), 'ko', markersize=3)
        ax.plot ([-0.1, 0.1], [fun(a), fun(a)], color='black')
        ax.text (-1, fun(a)-0.1, r"$f(x^{(2)})$")
        ax.text (a - 0.25, -3.5, r"$x^{(2)}$")
        
    if (i == 4):
        xx = np.linspace(x[1]-0.6,x[1]+0.7)
        ax.plot(xx,rtan(xx,x[1]),color="gray",lw=0.75)
        
    if (i == 5):
        ax.plot ([x[2], x[2]], [-0.5, 0.5], color='black')

    if (i == 6):
        a = x[2]
        ax.plot ([a, a], [-0.5, 0.5], color='black')
        ax.text (a - 0.25, -3.5, r"$x^{(3)}$")

anime = animation.FuncAnimation(fig, update, np.arange(7), interval=2000, repeat=True, init_func=init, repeat_delay=1000)
anime.save('metodo_de_Newton_anime.gif', writer='imagemagick')

Lisanslama

Ben, bu işin telif sahibi, burada işi aşağıdaki lisans altında yayımlıyorum:
w:tr:Creative Commons
atıf benzer paylaşım
Bu dosya, Creative Commons Atıf-Benzer Paylaşım 4.0 Uluslararası lisansı ile lisanslanmıştır.
Şu seçeneklerde özgürsünüz:
  • paylaşım – eser paylaşımı, dağıtımı ve iletimi
  • içeriği değiştirip uyarlama – eser adaptasyonu
Aşağıdaki koşullar geçerli olacaktır:
  • atıf – Esere yazar veya lisans sahibi tarafından belirtilen (ancak sizi ya da eseri kullanımınızı desteklediklerini ileri sürmeyecek bir) şekilde atıfta bulunmalısınız.
  • benzer paylaşım – Maddeyi yeniden düzenler, dönüştürür veya inşa ederseniz, katkılarınızı özgünüyle aynı veya uyumlu lisans altında dağıtmanız gerekir.

Altyazılar

Bu dosyanın temsil ettiği şeyin tek satırlık açıklamasını ekleyin.

Bu dosyada gösterilen öğeler

betimlenen

1 Eylül 2016

image/gif

31.357 bayt

300 piksel

300 piksel

7120d9f4397e1e46d3eaf23a45ec01fa5a0dfb8f

Dosya geçmişi

Dosyanın herhangi bir zamandaki hâli için ilgili tarih/saat kısmına tıklayın.

Tarih/SaatKüçük resimBoyutlarKullanıcıYorum
güncel01.32, 2 Eylül 201601.32, 2 Eylül 2016 tarihindeki sürümün küçültülmüş hâli300 × 300 (31 KB)wikimediacommons>PicknickUser created page with UploadWizard

Aşağıdaki sayfa bu dosyayı kullanmaktadır: