Форум программистов, компьютерный форум, киберфорум
Matlab
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
0 / 0 / 0
Регистрация: 02.07.2018
Сообщений: 23

Моделирование диффузии

26.11.2020, 16:05. Показов 2669. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, нужна помощь, есть задание
Кликните здесь для просмотра всего текста

Покажите, что при диффузии (Броуновском движении) в среднем за время
t частица удаляется на расстояние √ .
Рассмотрим одномерное броуновское движение. В каждый следующий
момент времени координата увеличивается или уменьшается на единицу
(случайным образом):


Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
N = 100; % переменная отвечающая за изначальный размер матрицы
x= 50; % начальная точка по оси x
y= 0; % начальная точка по оси y
M = zeros(N); % матрица
L = zeros(N); % матрица
 for k = 1: 10 % цикл отвечает за количество кривых
     x= 50; % это необходимо для сброса значений, что бы каждая последующая прямая начиналась из этих координат 
     y= 0;
for i = 1: 200 % цикл хода кривой( отвечает за длину и отрисовку кривых)
 
    z = rand(); % задаем рандом 50/50 необходим что бы последующая точка с одинаковой вероятностью шла либо вверх либо вниз
    if(z > 0.5)
       x = x - 1; 
       %  fprintf(' %.1f\n',x);
    else
       x = x + 1;
       %  fprintf(' %.1f\n',x);
    end      
    y = y + 1; % ход переменной относительно горизонтальной оси
    M(x,y)= 1; % присваиваем данной точки значение
    pause(0.01); % пауза для анимации
    
    spy(M,10); % рисуем точку
end
end
До этого момента, все готово и работает, но я никак не могу понять как сделать следующее( так как с матлабом совершенно не знаком приходится искать помощи тут)

я не понимаю как это можно сделать, так как я даже не смог разобраться как устроенны массивы , если кто нибудь разбирается, пожалуйста помогите мне с этим нелегким заданием
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.11.2020, 16:05
Ответы с готовыми решениями:

Трехмерное уравнение диффузии
подскажите, может кто решат в matlab трехмерное уравнение диффузии

Программа: уравнение диффузии в круге
Очень нужна помощь в написании программы на матлаб. Задача следующая: решить уравнение диффузии в круге. В качестве результата...

Формула диффузии одномерного случая
помогите написать на матлабе,и получить рисунок формула диффузии одномерного случая и сказал получить вот такой рисунок,там...

2
1298 / 927 / 449
Регистрация: 21.10.2012
Сообщений: 2,604
27.11.2020, 16:50
Лучший ответ Сообщение было отмечено marz9n как решение

Решение

marz9n, может, как-то так:
Кликните здесь для просмотра всего текста
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
clear; clc;
 
x = 0;
y = 50;
N = 200; % число шагов
k = 1000; % число попыток
M = zeros(N, 2, k); % в каждом новом "слое" записываются координаты x,y для новой попытки
M(:, 1, :) = repmat((x : x+N-1)', [1, 1, k]); % по x во всех попытках одинаково
temp = rand(N, 1, k); % случайные числа
temp( temp > 0.5 ) = 1; % делаем их -1 или 1
temp( temp <= 0.5 ) = -1;
M(:, 2, :) = cumsum(temp) + y; % находим сдвиги и добавляем изначальный сдвиг
 
subplot(1, 2, 1);
plot(reshape(M(:, 1, :), N, k), reshape(M(:, 2, :), N, k)); % строим разные попытки
 
subplot(1, 2, 2);
qq = sum(abs(M(:, 2, :) - y), 3) / k; % находим среднее
plot(1:N, qq, 1:N, sqrt(1:N));
1
0 / 0 / 0
Регистрация: 02.07.2018
Сообщений: 23
27.11.2020, 17:39  [ТС]
Большое спасибо вам, это вроде как оно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.11.2020, 17:39
Помогаю со студенческими работами здесь

Метод явных сеток для уравнения диффузии
Здравствуйте! Имеется решение параболического уравнения диффузии методом явных сеток в Matlab. Программа представлена ниже. Распределение...

решение ураавнения Диффузии
Помогите аналитически решить уравнение диффузии(теплопроводности) численными методами на маткаде

Дифференциальное уравнение диффузии газа в частных производных
Здравствуйте. У меня есть уравнение, как я понимаю это дифференциальное уравнение в частных производных. Уравнение описывает диффузию...

Уравнение нелинейной диффузии Колмогорова-Петрова-Пискунова
Помогите, пожалуйста, реализовать нелинейное уравнение диффузии. Задали сделать в Mathematica, а она ни в какую не работает(

"Разработка веб приложения, моделирование физического процесса диффузии"
Всем привет. Дали курсовую &quot;Разработка веб приложения, моделирование физического процесса диффузии&quot; немного недопонимаю с чего начать?...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru