Файл: Могилев А.В. Информатика.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 31.03.2021

Просмотров: 6770

Скачиваний: 51

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

 

601 

(7.14) 

 

Начальные условия для безразмерных переменных таковы: 
 

 

 

Важнейшая роль обезразмеривания - установление законов подобия. У изучаемого движе-

ния  есть  множество  вариантов,  определяемых  наборами  значений  параметров,  входящих  в  урав-
нения (7.12), (7.13) или являющихся для них начальными условиями: 

k

1

, k

2

,

 

m, g, v

0

, а.

 После обез-

размеривания переменных появляются безразмерные комбинации параметров - в данном случае 

a, 

b,

 

α -

 фактически определяющие характер движения. Если мы изучаем два разных движения с раз-

ными размерными параметрами, но такие, что 

а, b

 и 

α

 одинаковы, то движения будут качественно 

одинаковы. Число таких комбинаций обычно меньше числа размерных параметров (в данном слу-
чае  вдвое),  что  также  создает  удобство  при  полном  численном  исследовании  всевозможных  си-
туаций, связанных с этим процессом. Наконец, как уже отмечалось, величины 

V

x

V

y

, X, Y, τ

 физи-

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

b

 = 0

 

достаточно

 

элементарно интегрируется и ре-

зультаты таковы: 

 

    (7.14) 

 

Исключая из двух последних формул время, получаем уравнение траектории: 
 

 

 

Заметим,  что  эта  формула  не  из  тех,  которые  привычно  визуализируются,  например,  по 

сравнению с совершенно отчетливой  формулой (7.11), и здесь компьютер  может быть полезен в 
том, чтобы составить ясное представление о влиянии линейной части силы сопротивления на изу-
чаемое движение. 

 


background image

 

602 

 

Рис. 7.8.

 Семейство траекторий при 

α =

 45°  

и значениях 

α,

 равных 0,01; 0,1; 1 и 10 (кривые - справа налево) 

 

На рис. 7.8 приведены траектории четырех движений с разными значениями параметра 

α

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

а

  и 

b

  поможет  вы-

полнить приведенная ниже программа. 

Фактически представлены две программы: при активизации первого или второго блока. В 

первом  случае  она  выдает  результаты  численного  моделирования  в  виде  таблицы  значений  без-
размерных скоростей и координат при фиксированном наборе параметров 

а, b

 и 

α,

 значения кото-

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

b

)

 

Программа 148.

 Реализация модели «Полет тела, брошенного под углом к горизонту» 

 

Program Pod Uglom; 

Uses Crt, Graph; 
Type G 

=

 Array[1..4] Of Real; 

Const A = 0; В =0.1; (параметры модели)  

Al = Pi / 4; (угол - параметр модели}  
Н = 0.001; Нрr 

=

 0.1; (шаг интегрирования и шаг вывода результатов) 

Var N, I, J, M, L, К : Integer; 
Y0, Y : G; Х0, X, Xpr, A1, B1, Cosinus, Sinus : Real; LS : String; 
Function Ff(I : Integer; X : Real; Y : G) : Real; 
{описание правых частей дифференциальных уравнений}  

Begin 

Case I Of 
1: Ff:=-A1*Sinus*Y[l]-Bl*Sinus*Sqrt(Sqr(Y(l])+Sqr(Y[2]))*Y[1]; 
2: Ff:=-Sinus-A1*Sinus*Y[1]-B1*Sinus*Sqrt(Sqr(Y(1])+Sqr(Y[2]))*Y[2]; 
3: Ff:=Y[1]/(2*Cosinus); 
4: Ff:=2*Y[2]/Sinus 
End  

End; 
Procedure Runge_Kut (N: Integer; Var X: Real; Y0: G; Var Y: G; Н: Real); 

(метод Рунге-Кутта четвертого порядка) 
Var I : Integer; Z, K1, K2

,

 КЗ, К4 : G; 

Procedure Right(X : Real; Y : G; Var F : G) ; 
{вычисление правых частей дифференциальных уравнений} 
Var I : Integer; 
Begin 

For I :

=

 1 To N Do F[I] := Ff(I, X, У) 

  End; 
Begin Right(X, Y0, K1); X := X + Н / 2; 


background image

 

603 

 For I := 1 To N Do Z[I]:=Y0[I]+H*K1[I]/2; Right(X, Z, K2); 

For I := 1 To N Do Z[I]:=YO[I]+H*K2[I]/2; Right(X, Z, КЗ); Х:=Х+Н/2; 
For I := 1 To N Do Z[I] := Y0[I] + H * КЗ [I]; Right (X, Z, К4); 

For I := 1 To N Do 

Y[I]:=Y0[I]+H*(K1[I]+2*K2[I]+2*K3[I]+K4[I])/6; 

End; 

{следующий блок - для получения численных результатов при одном наборе 
параметров}  
{Begin 

Sinus := Sin(Al); Cosinus := Cos(Al); Al := A; Bl := B; ClrScr; 
N:=4; X0:=0; Y0[l]:=Cosinus; Y0[2]:=Sinus; Y0[3]:=0; Y0[4]:=0; 
WriteLn(' время с к о р о с т ь   к о о р д и н а т ы '); 
WriteLn; X := Х0; Xpr := 0; Y[4] := Y0[4]; 

While Y[4] >= 0 Do 
Begin 

If X >= Xpr Then 

Begin 

WriteLn ('t=', X : 6 : 3, ' Vx='. Y0[l] : 6 : 3, ' Vy=', 

Y0[2] : 6 : 3. ' X=', y0[3] : 6 : 3, ' Y=', Y0[4] : б : 3) ; 
Xpr := Xpr + Hpr  

End; 

Runge_Kut(N, X, Y0, Y, H); Y0 := Y  

End; 

WriteLn; WriteLn('для продолжения нажмите любую клавишу'); 
Repeat Until KeyPressed  

End.} 

{следующий блок - для изображения траекторий при не-

скольких наборах параметров)  

Begin 

DetectGraph (J, M); InitGraph (J, M, ''); 
L := 1; Al := A; Bl := В; Sinus := Sin(Al); Cosinus := Cos(Al); 
While L < 5 Do  
Begin 

N := 4; (Количество уравнений в системе) 
Х0 := 0; Y0[l] := Cosinus; (Начальные условия} 
Y0[2] := Sinus; Y0[3] := 0; Y0[4] := 0: 

SetColor(L); Line(400, 50 + 20 * (L - 1), 440, 50 + 20 * (L - 1)); 

OutTextXY(450, 50 + 20 * (L - 1), '1 = '); 

   Str(L, LS); OutTextXY(480, 50+20*(L-l), LS); X:=X0; Y[4]:=Y0[4]; 

While Y[4] >= 0 Do  

     Begin  
Runge_Kut(N, X, Y0, Y, H); Y0 := Y; 

     PutPixel(Abs(Trunc(Y0[3]*500)), GetMaxY-Abs(Trunc(Y0[4]*500)), L) ; 

End;   
   Bl := Bl * 10; L := L + 1  
End; 
OutTextXY(10, 50, 'для продолжения нажмите любую клавишу'); 
Repeat Until KeyPressed; CloseGraph 

End. 

 
Приведем пример. Рассмотрим полет чугунного ядра радиуса R=0,07 м, выпущенного с на-

чальной скоростью 

v

0

 = 60 м/с под углом 

α

 = 45° к поверхности Земли. Определим, какое расстоя-

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

а 

и 

b,

 после чего решим систему дифференци-

альных уравнений. Учтем, что плотность чугуна 

ρ

чуг

 = 7800 кг/м

3

 


background image

 

604 

 

 

Расчеты повторялись, сначала с шагом 0,1, затем - вдвое меньшим и т.д. (хорошо известный 

эмпирический  метод  контроля  точности  при  пошаговом  интегрировании  дифференциальных 
уравнений), пока не был получен приемлемый шаг, при котором достигается точность 10

-3

. Ясно, 

что расчеты надо проводить до тех пор, пока ядро не достигнет земли, т.е. пока 

Y

  не  станет  рав-

ным  0.  Результаты  моделирования  -  на  рис.  7.9.  В  рассмотренном  выше  примере  сопротивление 
среды оказывает незначительное влияние на движение тела. Проведем сравнение движения одного 
и того же тела без учета сопротивления среды и с его учетом, если среда достаточно вязкая (рис. 
7.10). 

 

 

Рис. 7.9.

 Графики зависимости 

V(τ)

 и 

Y(X)

 при решении задачи о полете ядра.  

Безразмерное значение скорости 

V

 получается по формуле 

2

2

y

x

V

V

V

.

 

Конечное значение скорости 

V <

 1 вследствие сопротивления воздуха.  

Траектория движения не является параболой по той же причине 

 

Рис. 7.10.

 Графики зависимости 

V(τ)

 и 

Y(X)

 при решении задачи о полете тела, брошенного под углом к го-

ризонту, без учета сопротивления воздуха (скорость изменяется от 1 и вновь достигает значения 1; траекто-

рия - парабола) и с учетом сопротивления воздуха (конечная скорость меньше 1, и траектория - далеко не 

парабола) (

а

 = 1, 

b

 = 1) 

 

С помощью приведенной выше программы можно провести полное исследование модели в 

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


background image

 

605 

 

Рис. 7.11.

 Влияние параметра 

а

 на движение тела, брошенного под углом к горизонту, при 

b =

 0,1 (слева) и 

при 

b

 = 1 (справа); 

α =

 

π

/4 (

а

 = 0,01; 0,1; 1; 10; кривые на рисунках соответственно располагаются справа 

налево) 

 

Рис. 7.12.

 Влияние параметра 

b

 на движение тела, брошенного под углом к горизонту, при 

a

 = 0,1 (слева) и 

при 

а

 = 1 (справа); 

α

 = 

π

/4 

(b =

 0,01; 0,1; 1; 10; кривые на рисунках соответственно располагаются справа 

налево) 

 

3.4. ДВИЖЕНИЕ ТЕЛА С ПЕРЕМЕННОЙ МАССОЙ: ВЗЛЕТ РАКЕТЫ 

 

Рассмотрим указанную задачу в максимально упрощенной постановке. Наши цели: 
а)  достичь  качественного  понимания  того,  как  скорость  ракеты  меняется  во  время  взлета, 

как влияют на полет разные факторы; 

б)  оценить  оптимальное  соотношение  параметров,  при  котором  ракета  достигнет  первой 

космической скорости и сможет вывести на орбиту полезный груз. 

Таким образом, обсуждаемая модель имеет черты как дескриптивной, так и оптимизацион-

ной. 

Взлет ракеты - сложный процесс, который неизбежно следует огрубить в попытке получе-

ния  относительно  простых  и  качественно  верных  результатов.  Например,  примем,  что  сила  тяги 
двигателя - величина постоянная на всем этапе разгона. Реально это, скорее всего, не так. но при 
упрощенном анализе колебаниями силы тяги пренебрежем, равно как и влиянием случайных по-
рывов ветра и множеством других случайных и неслучайных факторов. Но при таком, даже самом 
упрощенном,  анализе нельзя  пренебречь наличием  сопротивления воздуха,  которое при высоких 
скоростях очень велико. Ни в коем случае нельзя пренебречь и убыванием массы ракеты в процес-
се взлета - оно огромно и составляет большую часть исходной массы. Так, у одной из крупнейших 
отечественных ракет «Энергия» стартовая масса составляет 20000 тонн, а к концу взлета всего 200 
тонн. 

Поиск математического описания проблем не составляет  - в его основе все тот же второй 

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

F

conp

 = k

2

v

2

.

 Примем, что топ-

ливо расходуется равномерно вплоть до его полного выгорания, т.е.