Jump to content

Карта Икеды

Траектории 2000 случайных точек на карте Икеды с u = 0,918.

В физике и математике карта Икеды с дискретным временем, представляет собой динамическую систему заданную комплексным отображением.

Исходная карта была впервые предложена Кенсуке Икеда как модель света, проходящего через нелинейный оптический резонатор ( кольцевую полость , содержащую нелинейную диэлектрическую среду) в более общей форме. К указанной выше упрощенной «нормальной» форме он был сведен Икедой, Дайдо и Акимото. [1] [2] обозначает электрическое поле внутри резонатора на n-м шаге вращения резонатора, а и — это параметры, которые указывают лазерный свет, подаваемый снаружи, и линейную фазу через резонатор соответственно. В частности, параметр называется параметром диссипации, характеризующим потери резонатора, а в пределе карта Икеда становится консервативной картой.

Исходная карта Икеды часто используется в другой модифицированной форме, чтобы учесть эффект насыщения нелинейной диэлектрической среды:

Реальный 2D-пример приведенной выше формы:

где u - параметр и

Для , эта система имеет хаотический аттрактор .

Аттрактор [ править ]

Эта анимация показывает, как аттрактор системы меняется при изменении параметра варьируется от 0,0 до 1,0 с шагом 0,01. Динамическая система Икеда моделируется для 500 шагов, начиная с 20 000 случайно расположенных начальных точек. Последние 20 точек каждой траектории изображают аттрактор . Обратите внимание на раздвоение точек аттрактора как увеличивается.

Траектории точек [ править ]

На графиках ниже показаны траектории 200 случайных точек для различных значений . На вставке слева показана оценка аттрактора , а на вставке справа показан увеличенный график основной траектории.

и = 0,1
и = 0,5
и = 0,65
и = 0,7
и = 0,8
и = 0,85
и = 0,9
и = 0,908
и = 0,92

Код Octave/MATLAB для точечных траекторий [ править ]

Продолжительность: 1 минута 3 секунды.
Карта Икеда состоит из вращения (на угол, зависящий от радиуса), изменения масштаба и сдвига. Этот процесс «растягивания и складывания» порождает странный аттрактор.

Код Octave/MATLAB для создания этих графиков приведен ниже:

% u = ikeda parameter
% option = what to plot
%  'trajectory' - plot trajectory of random starting points
%  'limit' - plot the last few iterations of random starting points
function ikeda(u, option)
P = 200; % how many starting points
N = 1000; % how many iterations
Nlimit = 20; % plot these many last points for 'limit' option
 
x = randn(1, P) * 10; % the random starting points
y = randn(1, P) * 10;
 
for n = 1:P,
    X = compute_ikeda_trajectory(u, x(n), y(n), N);
     
    switch option
        case 'trajectory' % plot the trajectories of a bunch of points
            plot_ikeda_trajectory(X); hold on;

        case 'limit'
            plot_limit(X, Nlimit); hold on;

        otherwise
            disp('Not implemented');
    end
end

axis tight; axis equal
text(- 25, - 15, ['u = ' num2str(u)]);
text(- 25, - 18, ['N = ' num2str(N) ' iterations']);
end

% Plot the last n points of the curve - to see end point or limit cycle
function plot_limit(X, n)
plot(X(end - n:end, 1), X(end - n:end, 2), 'ko');
end

% Plot the whole trajectory
function plot_ikeda_trajectory(X)
plot(X(:, 1), X(:, 2), 'k');
% hold on; plot(X(1,1), X(1,2), 'bo', 'markerfacecolor', 'g'); hold off
end

% u is the ikeda parameter
% x,y is the starting point
% N is the number of iterations
function [X] = compute_ikeda_trajectory(u, x, y, N)
X = zeros(N, 2);
X(1, :) = [x y];
 
for n = 2:N
     
    t = 0.4 - 6 / (1 + x ^ 2 + y ^ 2);
    x1 = 1 + u * (x * cos(t) - y * sin(t));
    y1 = u * (x * sin(t) + y * cos(t));
    x = x1;
    y = y1;

    X(n, :) = [x y];
end
end

Код Python для точечных траекторий [ править ]

import math

import matplotlib.pyplot as plt
import numpy as np

def main(u: float, points=200, iterations=1000, nlim=20, limit=False, title=True):
    """
    Args:
        u:float
            ikeda parameter
        points:int
            number of starting points
        iterations:int
            number of iterations
        nlim:int
            plot these many last points for 'limit' option. Will plot all points if set to zero
        limit:bool
            plot the last few iterations of random starting points if True. Else Plot trajectories.
        title:[str, NoneType]
            display the name of the plot if the value is affirmative
    """
    
    x = 10 * np.random.randn(points, 1)
    y = 10 * np.random.randn(points, 1)
    
    for n in range(points):
        X = compute_ikeda_trajectory(u, x[n][0], y[n][0], iterations)
        
        if limit:
            plot_limit(X, nlim)
            tx, ty = 2.5, -1.8
            
        else:
            plot_ikeda_trajectory(X)
            tx, ty = -30, -26
    
    plt.title(f"Ikeda Map ({u=:.2g}, {iterations=})") if title else None
    return plt

def compute_ikeda_trajectory(u: float, x: float, y: float, N: int):
    """Calculate a full trajectory

    Args:
        u - is the ikeda parameter
        x, y - coordinates of the starting point
        N - the number of iterations

    Returns:
        An array.
    """
    X = np.zeros((N, 2))
    
    for n in range(N):
        X[n] = np.array((x, y))
        
        t = 0.4 - 6 / (1 + x ** 2 + y ** 2)
        x1 = 1 + u * (x * math.cos(t) - y * math.sin(t))
        y1 = u * (x * math.sin(t) + y * math.cos(t))
        
        x = x1
        y = y1   
        
    return X

def plot_limit(X, n: int) -> None:
    """
    Plot the last n points of the curve - to see end point or limit cycle

    Args:
        X: np.array
            trajectory of an associated starting-point
        n: int
            number of "last" points to plot
    """
    plt.plot(X[-n:, 0], X[-n:, 1], 'ko')

def plot_ikeda_trajectory(X) -> None:
    """
    Plot the whole trajectory

    Args:
        X: np.array
            trajectory of an associated starting-point
    """
    plt.plot(X[:,0], X[:, 1], "k")

if __name__ == "__main__":
    main(0.9, limit=True, nlim=0).show()

Ссылки [ править ]

  1. ^ Икеда, Кенсуке (1979). «Многозначное стационарное состояние и его неустойчивость в проходящем свете системой кольцевых резонаторов». Оптические коммуникации . 30 (2). Эльзевир Б.В.: 257–261. Бибкод : 1979OptCo..30..257I . CiteSeerX   10.1.1.158.7964 . дои : 10.1016/0030-4018(79)90090-7 . ISSN   0030-4018 .
  2. ^ Икеда, К.; Дайдо, Х.; Акимото, О. (1 сентября 1980 г.). «Оптическая турбулентность: хаотическое поведение прошедшего света из кольцевой полости». Письма о физических отзывах . 45 (9). Американское физическое общество (APS): 709–712. Бибкод : 1980PhRvL..45..709I . дои : 10.1103/physrevlett.45.709 . ISSN   0031-9007 .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 8ff130bfec64b3241ef4a1575476c563__1718706720
URL1:https://arc.ask3.ru/arc/aa/8f/63/8ff130bfec64b3241ef4a1575476c563.html
Заголовок, (Title) документа по адресу, URL1:
Ikeda map - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)