پرونده:Nelder-Mead Himmelblau.gif
از testwiki
پرش به ناوبری
پرش به جستجو
اندازهٔ این پیشنمایش: ۶۰۰ × ۶۰۰ پیکسل. کیفیتهای دیگر: ۲۴۰ × ۲۴۰ پیکسل | ۴۸۰ × ۴۸۰ پیکسل | ۱٬۰۰۰ × ۱٬۰۰۰ پیکسل.
پروندهٔ اصلی (۱٬۰۰۰ × ۱٬۰۰۰ پیکسل، اندازهٔ پرونده: ۹۰۹ کیلوبایت، نوع MIME پرونده: image/gif، چرخشدار، ۲۰ قاب، ۱۰ ثانیه)
توجه:به علت مسائل فنی پیشنمایش پروندههای GIF مانند این پرونده، به صورت متحرک نمایش داده نمیشود.
این پرونده از ویکیانبار است و ممکن است توسط پروژههای دیگر هم استفاده شده باشد. توضیحات موجود در صفحهٔ توضیحات پرونده در آنجا، در زیر نشان داده شده است.
خلاصه
| توضیحNelder-Mead Himmelblau.gif |
English: Nelder-Mead animated for the Himmelblau's function |
| تاریخ | |
| منبع | اثر شخصی |
| پدیدآور | Nicoguaro |
| GIF genesis InfoField | |
| کد منبع InfoField | Python code"""
Animation of the Nelder-Mead method for the Himmelblau function.
"""
from __future__ import division, print_function
import numpy as np
import matplotlib as mpl
mpl.use("Agg")
import matplotlib.pyplot as plt
import matplotlib.animation as animation
from matplotlib import rcParams
# In Windows the next line should provide the full path to convert.exe
# since convert is a Windows command
#rcParams['animation.convert_path'] = "C:\Program Files\ImageMagick-6.9.3-Q16\convert.exe"
rcParams['font.size'] = 12
def himmel(x):
if len(x.shape) == 1:
x1, x2, = x
else:
x1 = x[:, 0]
x2 = x[:, 1]
return (x1**2 + x2 - 11)**2 + (x1 + x2**2 - 7)**2
def nelder_mead_step(fun, verts, alpha=1, gamma=2, rho=0.5,
sigma=0.5):
"""Nelder-Mead iteration according to Wikipedia _[1]
References
----------
.. [1] Wikipedia contributors. "Nelder–Mead method." Wikipedia,
The Free Encyclopedia. Wikipedia, The Free Encyclopedia,
1 Sep. 2016. Web. 20 Sep. 2016.
"""
nverts, _ = verts.shape
f = fun(verts)
# 1. Order
order = np.argsort(f)
verts = verts[order, :]
f = f[order]
# 2. Calculate xo, the centroid"
xo = verts[:-1, :].mean(axis=0)
# 3. Reflection
xr = xo + alpha*(xo - verts[-1, :])
fr = fun(xr)
if f[0]<=fr and fr<f[1]:
new_verts = np.vstack((verts[:-1, :], xr))
# 4. Expansion
elif fr<f[0]:
xe = xo + gamma*(xr - xo)
fe = fun(xe)
if fe < fr:
new_verts = np.vstack((verts[:-1, :], xe))
else:
new_verts = np.vstack((verts[:-1, :], xe))
# 5. Contraction
else:
xc = xo + rho*(verts[-1, :] - xo)
fc = fun(xc)
if fc < f[-1]:
new_verts = np.vstack((verts[:-1, :], xc))
# 6. Shrink
else:
new_verts = np.zeros_like(verts)
new_verts[0, :] = verts[0, :]
for k in range(1, nverts):
new_verts[k, :] = sigma*(verts[k,:] - verts[0,:])
return new_verts
# Contour data
npts = 201
x, y = np.mgrid[-6:6:npts*1j, -6:6:npts*1j]
x.shape = (npts**2)
y.shape = (npts**2)
z = himmel(np.column_stack((x, y)))
x.shape = (npts, npts)
y.shape = (npts, npts)
z.shape = (npts, npts)
# Simplices data
def data_gen(num):
x0 = np.array([-3, -4])
x1 = np.array([-2, -2])
x2 = np.array([0, -2])
verts = np.vstack((x0, x1, x2))
for k in range(num):
verts = nelder_mead_step(himmel, verts)
# Plots
levels = np.logspace(0.35, 3.2, 8)
plt.cla()
plt.contour(x, y, z, levels, colors="k")
poly = plt.Polygon(verts, facecolor="none", edgecolor="r",
linewidth=1.5)
plt.gca().add_patch(poly)
plt.xlabel(r"$x_1$", fontsize=14)
plt.ylabel(r"$x_2$", fontsize=14)
plt.xticks([-6, -3, 0, 3, 6])
plt.yticks([-6, -3, 0, 3, 6])
plt.xlim([-6, 6])
plt.ylim([-6, 6])
fig = plt.figure(figsize=(5, 5))
ani = animation.FuncAnimation(fig, data_gen, range(20), blit=False)
ani.save("Nelder-Mead_Himmelblau.gif", writer='imagemagick', fps=2,
dpi=200)
|
اجازهنامه
من، صاحب حقوق قانونی این اثر، به این وسیله این اثر را تحث اجازهنامهٔ ذیل منتشر میکنم:
این پرونده تحت مجوز Creative Commons Attribution 4.0 International مجوز داده شده است.
- شما اجازه دارید:
- برای به اشتراک گذاشتن – برای کپی، توزیع و انتقال اثر
- تلفیق کردن – برای انطباق اثر
- تحت شرایط زیر:
- انتساب – شما باید اعتبار مربوطه را به دست آورید، پیوندی به مجوز ارائه دهید و نشان دهید که آیا تغییرات ایجاد شدهاند یا خیر. شما ممکن است این کار را به هر روش منطقی انجام دهید، اما نه به هر شیوهای که پیشنهاد میکند که مجوزدهنده از شما یا استفادهتان حمایت کند.
عنوان
شرحی یکخطی از محتوای این فایل اضافه کنید
آیتمهایی که در این پرونده نمایش داده شدهاند
توصیفها
این خصوصیت مقداری دارد اما نامشخص است.
source of file انگلیسی
original creation by uploader انگلیسی
۲۰ سپتامبر 2016
۹۳۱٬۰۵۸ بایت
۱٬۰۰۰ پیکسل
۱٬۰۰۰ پیکسل
image/gif
checksum انگلیسی
9c7333f557189bccb79611818aaf4023ebdae61b
تاریخچهٔ پرونده
روی تاریخ/زمانها کلیک کنید تا نسخهٔ مربوط به آن هنگام را ببینید.
| تاریخ/زمان | بندانگشتی | ابعاد | کاربر | توضیح | |
|---|---|---|---|---|---|
| کنونی | ۲۱ سپتامبر ۲۰۱۶، ساعت ۰۱:۵۱ | ۱٬۰۰۰ در ۱٬۰۰۰ (۹۰۹ کیلوبایت) | wikimediacommons>Nicoguaro | User created page with UploadWizard |
کاربرد پرونده
صفحهٔ زیر از این تصویر استفاده میکند: