Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/21: Рейтинг темы: голосов - 21, средняя оценка - 4.71
 Аватар для krupa
106 / 106 / 35
Регистрация: 13.12.2010
Сообщений: 407

Фрактальное Броуновское движения ( оптимизация кода)

06.04.2013, 23:12. Показов 4712. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В общем у меня функция генерации фрактального броуновского движения.
Делается все очень просто. Расскажу алгоритм
длина ряда составляет 2N+1. и формируется он таким образом:
Формируется три точки нормальным законом распределения с 0 мат. ожиданием и каким-то СКО.
Например:
0.5 0.2 0.8
После этого проходит процесс интерполяции - мы усредняем значения между точками ( я не знаю как это правильно назвать)
т.е. добавляем новые элементы между элементами, вставляя их среднее значение.
xi+1/2=(xi+x+1)/2
Т.е. получаем
0.5 0.35 0.2 0.5 0.8
После этого пересчитываем СКО по формуле
Python
1
sigma = pow(0.5,H)*sigma
где H - показатель Хёрста ( вообще принимает значение от 0 до 1 )
и после этого к каждому элементу нашего ряда ( на данном этапе состоящем из 5 узлов, добавляем случайную величину сгенерированную
Python
1
random.normal(0,sigma)
и процесс повторяется: интерполяция, пересчёт СКО, добавление случайной величины.

вот то что я написал:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
def interpolation(y):
    i=0
    new_y=[]
    for i in range(len(y)-1):
        new_y.append(y[i])
        new_y.append((y[i+1]+y[i])/2)
    new_y.append(y[i])
    return new_y
 
def offset(y,sigma):
    y = [number+random.normal(0,sigma) for number in y]
    return y
H=0.7
m=0
sigma=1
y=random.normal(m,sigma,size=3)
i=0
 
while i<10:
    y=interpolation(y)
    sigma = pow(0.5,H)*sigma
    y=offset(y,sigma)
    i+=1
можно ли это как-то оптимизировать? я не прошу сделать, я прошу натолкнуть на какие-то функции, какие-то принципы работы Python.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.04.2013, 23:12
Ответы с готовыми решениями:

Оптимизация программы, моделирующей броуновское движение
&gt; ak:=stats](100): bk:=stats](100): x:=0: y:=0: for k from 1 to 100 do x:=x+ak: y:=y+bk: end do: plot(,y],k=0..100)]); \ ...

Построить фрактальное изображение «броуновского движения» через рекурсивную функцию
Здравствуйте, помогите пожалуйста с решением задачи про фракталы. Построить фрактальное изображение «броуновского движения» через...

Нужен перевод кода с Pascal на С# (Фрактальное дерево)
interface uses Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs, StdCtrls, ExtCtrls; type ...

1
Эксперт Python
 Аватар для dondublon
4653 / 2073 / 366
Регистрация: 17.03.2012
Сообщений: 10,183
Записей в блоге: 6
09.04.2013, 09:13
Питон, как скриптовый язык, штука вообще медленная.
Операция append медленная - память надо выделять сразу, когда знаешь, сколько элементов будет.
Можно использовать нативный код, попробуй numpy и его массивы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.04.2013, 09:13
Помогаю со студенческими работами здесь

Можете сделать перевод кода MAtlab (Фрактальное сжатие изображения) в Scilab
%% prepare workspace clear;close all;clc; %% 1.input Image fname=uigetfile('*.jpg');%opens ui for select image files ...

Оптимизация методом Ньютона (нахождение точки минимума). Оптимизация кода
MATLAB только начал осваивать. Попытался реализовать нахождение точки минимума методом Ньютона для функции 2*X12 - X1*X2 + 3*X22 -...

Оптимизация кода. Замер времени выполнения части кода.
Доброе утро. Есть желание посмотреть сколько времени занимает выполнение какого-то блока кода/отдельной функции или процедуры/программы...

Оптимизация движения большого количества объектов
Я занимаюсь разработкой игры, в которую хочу добавить что-то по типу конвейеров, которые в моей игре являются трубами. На данный момент я...

Типы оптимизация: черная оптимизация, серая оптимизация и белая оптимизация
Много много лет назад, на заре становления профессии &quot;оптимизатора&quot; в какой то умной книжке был создан миф. Это миф о цветовой индефикации...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru