русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Математическое моделирование физических процессов


Дата добавления: 2014-11-28; просмотров: 641; Нарушение авторских прав


 

 

При расчете физических процессов составляется математическая модель - система уравнений, описывающая зависимости между физическими величинами при некоторых упрощающих допущениях. Например, при движении точки вблизи поверхности Земли полагается ускорение свободного падения постоянным, не зависящим от высоты расположения точки над поверхностью. Для тел, движущихся с небольшой скоростью или в разряженной атмосфере, пренебрегают сопротивлением воздуха. Само точка часто заменяют материальной точкой, т. е. размерами точки пренебрегают. Физические процессы описываются, как правило системой дифференциальных уравнений, для решения которой применяют различные численные методы (модели). Широко используется метод конечных разностей, в котором бесконечно малые приращения переменных заменяют малыми (конечными) приращениями.

Например, изменение параметра времени представляют в виде:dt=t2-t1, а изменение функции "Х": dX(t) = X(t)-X(t-dt) = X(t2)-X(t1) = X2-X1.

 

Рассмотрим задачу определения траектории точки, движущегося в некоторой плоскости под действием различных сил. Например, необходимо вычислить траекторию движения снаряда с учетом сопротивления воздуха или ракеты с учетом изменения ее массы, движущихся в поле тяготения Земли.

Координаты точки X(t), Y(t) в некоторый момент времени "t" можно определить, зная координаты точки X(t-dt), Y(t-dt) в предыдущий момент времени "t-dt" и изменение (приращение) координат dX, dY:

 

X(t) = X(t-dt) + dX(t),

Y(t) = Y(t-dt) + dY(t).

 

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

 

dX(t) = Vx(t)dt,

dY(t) = Vy(t)dt.

 

Здесь Vx(t), Vy(t) - проекции скорости на оси координат.



 

Составляющие скорости Vx(t) и Vy(t) можно вычислить по формулам:

 

Vx(t) = Vx(t-dt) + Ax(t)*dt,

Vy(t) = Vy(t-dt) + Ay(t)*dt.

 

Здесь Ax(t), Ay(t) - проекции ускорения на оси координат.

 

Ускорение определяется силами, действующими на точка: ускорение равно равнодействующей силе, деленной на массу точки. Силы могут зависеть от координат точки, времени и скорости точки. Например, ускорение ракеты в поле тяготения планеты обратно пропорционально квадрату расстояния до центра планеты. При включении двигателя ракеты ускорение зависит от времени (программы работы двигателя). При движении в плотных слоях атмосферы на ракету действуют силы сопротивления воздуха, зависящие от скорости движения, т. е. ускорение зависит от скорости.

 

Приведем алгоритм расчета траектории движения точки:

 

1. Определяем силы, действующие на точка, и находим проекции ускорения на оси координат.В общем случае ускорение точки зависит от многих факторов и в момент времени t задается как функция от времени, скорости и координат точки:

 

Ax:= Fx(Vx, Vy, X, Y, t); Ay:= Fy(Vx, Vy, X, Y, t);

 

Где Vx, Vy, Ax, Ay - проекции скорости и ускорения.

 

2.Задаем начальное положение точки - координаты X[1], Y[1] и начальную скорость и ускорение в виде проекций на оси координат:

 

X[1]:= X0; Y[1]:= Y0; Vx[1]:= V*cos(fi); Vy[1]:= V*sin(fi);

Ax[1]:= Fx(Vx[1], Vy[1], X[1], Y[1], t[1]);

Ay[1]:= Fy(Vx[1], Vy[1], X[1], Y[1], t[1]);

 

Где V - начальная скорость точки, fi - угол наклона вектора скорости к оси Х.

 

3. Задаем временной шагdt и разбиваем весь временной интервал на N участков. При равномерной разбивке приращение времени определяется по формуле:

 

dt:= (t[N]-t[1])/(N-1); Здесь (t[N] - t[1]) - время движения точки.

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

 

4.Вычисляем массивы скорости, ускорения и координат точки:

 

For i:= 2 to N do begin

Vx[i]:= Vx[i-1] + Ax[i-1]*dt;

Vy[i]:= Vy[i-1] + Ay[i-1]*dt;

X[i]:= X[i-1] + 0.5*(Vx[i-1] + Vx[i])*dt;

Y[i]:= Y[i-1] + 0.5*(Vy[i-1] + Vy[i])*dt;

Ax[i]:= Fx(Vx[i], Vy[i], X[i], Y[i], t[i]);

Ay[i]:= Fy(Vx[i], Vy[i], X[i], Y[i], t[i]);

{ уточняем скорость точки в расчетной точке }

VX[i]:= VX[i-1] + 0.5*(Ax[i-1] + Ax[i])*dt;

VY[i]:= VY[i-1] + 0.5*(Ay[i-1] + Ay[i])*dt;

end;

Для уменьшения погрешностей расчетной схемы, скорость и ускорения на участке интерполируются средними значениями.

 

5. Строим траекторию движения точки. Здесь удобно использовать процедуры из библиотеки построения графиков GR_F. Следует определить расчетную область и область рисования траектории на экране. Траектория на экране рисуется процедурой: PutPixel_G(X[i], Y[i], N);

Для тестирования работы алгоритма рассмотрим задачу расчета траектории точки, движущегося из точки с координатами X, Y с начальной скоростью Vx, Vy под действием сил, вызывающих ускорение точки Ax, Ay. Следуя пунктам 1. . 5 приведенного выше алгоритма необходимо рассчитать траекторию движения точки и сравнить с траекторией точки, описанной аналитической зависимостью X(t), Y(t).

 

 



<== предыдущая лекция | следующая лекция ==>
Электростатика и электромагнетизм | Практическое задание N 2. 22


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.248 сек.