|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
физический процесс реакции диффузии через метод конечных разностей
в программе моделируется физический процесс реакции диффузии через метод конечных разностей
формулы правильные проверил несколько раз при компилировании вылетает ошибка "Project PProject2.exe raised exception class EOverflow with message "Floating point ocerflow". Process stopped. Use Step or Run to cotinue." программка в архиве |
#2
|
||||
|
||||
Что-то намудрено вот в этом цикле
Код:
for i:=1 to (n-1) do begin u2[i]:=u1[i]+0.125*(t/(x*x)*(u1[i+1]-2*u1[i]+u1[i-1])+(1/0.125)*(u1[i]-(u1[i]*u1[i]*u1[i]))-(1/0.125)*v1[i]) ; v2[i]:=v1[i]+(t/(x*x)*(v1[i+1]-2*v1[i]+v1[i-1]))-t*(0.25*u1[i]+v1[i]) ; end; Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#3
|
|||
|
|||
L - здесь не используется, она будет использована позже
t2 - конечное время (лучше ставить маленькое, т.к. долго будет высчитывать, например 0,05 ) u1 v1 эти значения нужно подобрать (хотя в теории они высчитываются по формуле u1=exp(-x^2); v1=1-exp(-x^2); n = 20 t и x подбираются по формуле t/(x^2)=10^-4 |
#4
|
||||
|
||||
А, понятно, вот подправил немного, правда глючит теперь в другом месте, надо дальше смотреть, вот вариант, пароль для скачивания подбирается по формуле
:^-0) Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
Mrak (25.06.2013)
|
#5
|
||||
|
||||
Цитата:
Je venus de nulle part 55.026263 с.ш., 73.397636 в.д. |
#6
|
||||
|
||||
Оффтоп:
Сохранена стилистика ТС, если надо - подберёт Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#8
|
||||
|
||||
Цитата:
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#9
|
|||
|
|||
у меня не подходит пароль .... вроде вычислил а всеравно не то (((
|
#10
|
||||
|
||||
Оффтоп: Всё, шутка затянулась, уже не смешно. Даже я этого пароля не подберу, т.к. не силён в математике
По теме: во время выполнения, примерно на 19й итерации цикла происходит переполнение допустимых значений переменных - пересмотрите ещё раз ваши формулы, возможно где-то надо поставить дополнительные скобки в коде, пользуйтесь breakpoint`ами, это поможет найти момент переполнения, ваши формулы, это чистая математика и делфи здесь ни при чём. Извините за юмор. Я не понял Вашего вопроса, но всё же Вам на него отвечу! Последний раз редактировалось Alegun, 25.06.2013 в 17:53. Причина: самозензура |
#11
|
||||
|
||||
Цитата:
Я за здоровый экстрим! Спасибо за "спасибо") |
Этот пользователь сказал Спасибо Mrak за это полезное сообщение: | ||
Alegun (25.06.2013)
|