СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Теоретическая информация по факультативу Компьютерное моделирование 9

Категория: Информатика

Нажмите, чтобы узнать подробности

Теоретическая информация по факультативу Компьютерное моделирование : Моделирование физических и биологических задач.

Просмотр содержимого документа
«Теоретическая информация по факультативу Компьютерное моделирование 9»

Моделирование физической и биологической задачи.


Задача о пушке, которой надо попасть в крепость.

Известна высота башни h и расстояние S до неё. Найти угол , при котором снаряд из пушки попадёт в башню на высоте h.

Решение.

(см в лекциях)

Горизонтальное и вертикальное смещение снаряда за время t описывается формулами:

где - ускорение свободного падения = 9.8 и - начальная скорость вылета снаряда.

Выразим t из первой формулы и подставим во вторую:

Задача сводится к решению методом половинного деления где . Метод половинного деления или аналог в артиллерийском приёме (пристреле) – одно положение выше цели, второй выстрел ниже цели.

Алгоритм метода половинного деления смотри в численных методах.

Текст программы на Pascal:


program n1;

uses crt;

var v,h,s:integer;

a1,a2,a,h1,h2,hh:real;

begin

clrscr;

writeln('Введите начальную скорость');

readln (v); { Ввод с клавиатуры скорости }

writeln('Введите расстояние до цели');

readln(s); { Ввод с клавиатуры расстояния }

writeln('Введите высоту цели');

readln(h); { Ввод с клавиатуры высоты }

a1:=0; {начальный угол}

a2:=89; {конечный угол}

a:=(a1+a2)/2; {искомый угол т.е промежуточный угол}

hh:=s*(sin(pi/180*a)/cos(pi/180*a))-(9.8*s*s)/(2*v*v*cos(pi/180*a)*cos(pi/180*a));

{высота полёта при искомом угле}

while abs(hh-h)0.01 do

{пока разность между искомым и полученным углом больше 0.001 то выполнять цикл}

begin

if hhh then a2:=a ;

{если полученная высота больше искомой, то а2 = промежуточному углу}

if hh

{если полученная высота меньше искомой, то а1 = промежуточному углу}

a:=(a1+a2)/2; (искомый т.е. промежуточный угол = середине между а1 и а2)

hh:=s*(sin(pi/180*a)/cos(pi/180*a))-(9.8*s*s)/(2*v*v*cos(pi/180*a)*cos(pi/180*a));

{расчёт новой высоты при новом промежуточном угле}

end;

write('Угол =',a); {вывод полученного угла}

readkey;

end.

Например, угол, при котором пушка попадёт на высоту 5, на расстоянии 10 при начальной скорости 20 равен 34 градуса.

Задания:

Найти необходимый угол выстрела, при скорости вылета снаряда 20, на расстояние 5, чтобы снаряд попал в цель на высоте 5.

Найти необходимый угол выстрела, при скорости вылета снаряда 15, на расстояние 5, чтобы снаряд попал в цель на высоте 5.

Найти необходимый угол выстрела, при скорости вылета снаряда 20, на расстояние 10, чтобы снаряд попал в цель на высоте 15.

Сделайте вывод о зависимости между необходимым углом и скоростью вылета снаряда;

Сделайте вывод о зависимости между необходимым углом и расстоянием до цели;

Сделайте вывод о зависимости между необходимым углом и высотой цели;

Сделайте вывод о зависимости между всеми параметрами модели.




Задача о кроликах и лисах.

На некотором острове живут лисы и кролики. Кролики питаются травой, а лисы кроликами. Экологи пересчитывают кроликов и лис и сделали вывод:

  1. Коэффициент прироста числа кроликов зависит от колебания погоды (холодная или тёплая) и колеблется от 3.2 до 4.7

  2. Коэффициент прироста числа лис при избытке крольчатины колеблется от 5.2 до 5.7. При недостатке прирост пропорционален приросту кроликов.

  3. Коэффициент пропорциональности =50

Требуется установить, как меняется численность кроликов, и лис с течением времени.




Построение модели и схему взаимодействия лис и кроликов смотри в лекциях.

Текст задачи на Pascal:


program n2;

uses crt;

var i,n:integer;

m,m1,l1,l,

k,a:real;

begin

clrscr;

write('vvedite kolichestvo let');

readln(n);

write('vvedite nachalnoe kolichestvo krolikov');

readln(m);

write('vvedite nachalnoe kolichestvo lis');

readln(l);

write('vvedite koefficient prirista krolikov');

readln(k);

write('vvedite koefficient prirista lis');

readln(a);

for i:=1 to n do

begin

m1:=(1+k)*m-50*l;

if a

l:=l1;

m:=m1;

end;

writeln('kolichestvo lis = ',l);

writeln('kolichestvo krol = ',m);

readkey;

end.



Решение в Excel:


На рисунке видно, что в ячейки B1-B4 вводим исходные данные. В ячейку E8 вводим формулу =(1+МИН($B$3;(F8-F7)/50))*E7 затем растягиваем ячейки вниз на необходимое количество лет (в данном примере 21 год; от 0 до 20). В ячейку =(1+$B$4)*F7-E7*50 и аналогично растягиваем. В результате в ячейках E7-E27 получим количество лис в соответствующих справа годах. В F7-F27 – количество кроликов. Например, видно, что при начальном количестве кроликов = 10000, при количестве лис = 100, и коэффициентах роста для кроликов = 4 и лис =0,1 количество кроликов через 10 лет будет 85136221274 а лис 259.


Задания:

Исследуйте по модели количество кроликов и лис при начальном количестве 1000 кроликов. Что произошло? В чём погрешность модели?

Исследуйте по модели количество кроликов и лис при начальном количестве 10000 кроликов и различных коэффициентах роста кроликов и лис. Сделайте выводы.

Сделайте выводы о взаимосвязи между различными параметрами.


Краевые задачи:

Используя метод конечных разностей решить краевую задачу:

U(x,0)=2*cos(x+0.55)

x=a = sin(t)

U(0.6,t)=0.817+2*t


Текст задачи на Pascal

Program kraevaya_zadacha;

uses crt;

const x0 = 0; {начальная точка стержня}

dx = 0.1; {шаг разбиения стержня}

nx = trunc(0.6/dx); {количество разбиений }

t0 = 0; {начальный момент времени}

dt = 0.001; {шаг по времени –берётся из условия устойчивости }

T = 20; {количество промежутков времени}


var u0,u1:array [0..nx] of real;

x,t1:real;

i,j,i1:integer;

begin

clrscr;

{ ========================Вывод на экран строки значений х ================}

write (' ':7);

for i:=0 to nx do

begin

x:=x0+i*dx;

write('|',x:7:4);

end;

writeln;

writeln('---------------------------------------------------------------');


{========Вычисление в цикле значения температуры в начальный момент времени===}


for i:=0 to nx do

begin

x:=x0+i*dx;

u0[i]:=2*cos(x+0.55);

end;

for j:=0 to T do {открываем цикл по времени}

begin

t1:=t0+j*dt;

u1[nx]:= 0.817+2*t1; {Задаём правое граничное условие}

for i:=1 to nx-1 do

{=================Вычисление температуры на следующем слое}

U1[i]:=(dt*(U0[i+1]-2*U0[i]+U0[i-1]))/(dx*dx)+U0[i] ;

U1[0]:= U1[1]-dx*sin(t1); {вычисление левого граничного условия}

{=======================Вывод результатов на экран}

write(t1:7:4);

for i1:=0 to nx do

write ('|',u1[i1]:7:4);

writeln;

U0:=U1; {переприсваивание массивов}

End; {Закрытие цикла по времени}

end.


Решение в Excel:


На рисунке видно, что в ячейках C23-I23 содержаться точки стержня (от 0 до 0.6). В ячейках B2-B22 содержаться значения моментов времени. Тогда на пересечении строки и столбца находится соответствующие искомые значения.

В ячейку С22 вводим формулу =D22-SIN(B22)*0,1 затем растягиваем её вверх до С2 (из условия x=a = sin(t)). В ячейку D22 вводим =2*COS(D23+0,55) и растягиваем до ячейки H22 (из условия U(x,0)=2*cos(x+0.55)). Вводим в I22 формулу =0,817+2*B22 (из условия U(0.6,t)=0.817+2*t) и растягиваем вверх до I2. Затем в D21 вводим формулу =(0,001*(E22-2*D22+C22))/(0,1*0,1)+D22 (из условия ) и растягиваем от D21 вверх и вправо до H2. В результате мы получим значения для каждой точки в каждый момент времени.

Задания: сравните данные таблицы с результатами работы программы на Pascale.

Моделирование в среде MathCAD задачи «Хищники и жертвы».

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

Выбираем стандартную функцию ORIGIN

ORIGIN:=1

B:=4 {из данных}

{столбец неизвестных}

F(t,y):=

ORIGIN:=0

z:=Rkadapt(y,0,50,1001,F)

t:=z(0)

x:=z(1)

y:=z(2)

Строится график:





8



Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!