Научная статья на тему 'Пример использования компьютерной алгебры Maxima в дисциплине «Компьютерное моделирование»'

Пример использования компьютерной алгебры Maxima в дисциплине «Компьютерное моделирование» Текст научной статьи по специальности «Математика»

CC BY
613
91
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
МОДЕЛЬ / КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ / КОМПЬЮТЕРНАЯ АЛГЕБРА MAXIMA / ВСТРОЕННЫЙ ЯЗЫК ПРОГРАММИРОВАНИЯ / ОПЕРАТОР ЦИКЛА / ДИФФЕРЕНЦИАЛЬНОЕ УРАВНЕНИЕ / НАЧАЛЬНЫЕ УСЛОВИЯ / ЗАДАЧА КОШИ / СВОБОДНОЕ ПАДЕНИЕ / СИЛА ТЯГОТЕНИЯ / СИЛА СОПРОТИВЛЕНИЯ / СИЛА АРХИМЕДА / ЗАКОН СТОКСА / КОЭФФИЦИЕНТ ЛОБОВОГО СОПРОТИВЛЕНИЯ / MODEL / COMPUTER MODELING / COMPUTER ALGEBRA MAXIMA / INTEGRATED PROGRAMMING LANGUAGE / CYCLE OPERATOR / DIFFERENTIAL EQUATION / INITIAL CONDITIONS / CAUCHY PROBLEM / FREE-FALL / FORCE OF GRAVITY / FORCE OF RESISTANCE / ARCHIMEDES FORCE / STOKES' LAW / DRAG COEFFICIENT

Аннотация научной статьи по математике, автор научной работы — Стахин Николай Александрович

Показано, что использование системы компьютерной математики Maxima качественно улучшает рассмотрение темы «Свободное падение с учетом сопротивления среды», традиционно изучаемой в дисциплине «Компьютерное моделирование». Maxima позволяет получить аналитическое решение нелинейного дифференциального уравнения, аналитические выражения для скорости падения и пройденного пути, найти асимптотическое поведение скорости падения и визуализировать решение.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

AN EXAMPLE OF USING COMPUTER ALGEBRA MAXIMA IN THE DISCIPLINE “COMPUTER MODELLING”

The article deals with the modelling of pilot falling from a height of 6 000 meters in water. It is shown that the use of computer algebra system (CAS) Maxima qualitatively improves the consideration of the topic “Freefall considering environmental resistance”, traditionally studied in the discipline “Computer simulation”. Maxima has found the general solution of the nonlinear differential equation and found a partial solution with zero initial conditions the Cauchy problem. CAS Maxima has found the analytical expression for the rate of fall and height fallen down as the functions of time. CAS Maxima has obtained the asymptotic behavior of the rate of fall in the time and has calculated the rate limit of fall. CAS Maxima calculated numerically intermediate values of fall speed and height fallen down for the 15 time values in the range of 1-15 in increments of 1. These values are compared with analogical values calculated by numerical method in book, with the standard deviation for rate is equal 2 %. CAS Maxima has plot graphics the rate of fall versus the time.

Текст научной работы на тему «Пример использования компьютерной алгебры Maxima в дисциплине «Компьютерное моделирование»»

УДК 004.94 + 519.7 ГРНТИ: 28.17.33

Н. А. Стахин

ПРИМЕР ИСПОЛЬЗОВАНИЯ КОМПЬЮТЕРНОЙ АЛГЕБРЫ MAXIMA В ДИСЦИПЛИНЕ «КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ»

Показано, что использование системы компьютерной математики Maxima качественно улучшает рассмотрение темы «Свободное падение с учетом сопротивления среды», традиционно изучаемой в дисциплине «Компьютерное моделирование». Maxima позволяет получить аналитическое решение нелинейного дифференциального уравнения, аналитические выражения для скорости падения и пройденного пути, найти асимптотическое поведение скорости падения и визуализировать решение.

Ключевые слова: модель, компьютерное моделирование, компьютерная алгебра Maxima, встроенный язык программирования, оператор цикла, дифференциальное уравнение, начальные условия, задача Коши, свободное падение, сила тяготения, сила сопротивления, сила Архимеда, закон Стокса, коэффициент лобового сопротивления.

Широко известно, что моделирование является эффективным, мощным орудием познания. По этой причине учебная дисциплина «Компьютерное моделирование» входит в число базовых учебных дисциплин, преподаваемых в современных вузах, готовящих специалистов-исследователей, а основы компьютерного моделирования начинают изучать уже в старших классах общеобразовательной средней школы. Методику преподавания дисциплины «Компьютерное моделирование» изучают студенты педагогических университетов. Традиционно наряду с физической постановкой задач моделирования в университетском курсе компьютерного моделирования изучаются численные методы решения задач, такие как численное интегрирование, численное дифференцирование, численное решение трансцендентных уравнений и другие, в то время как аналитические компьютерные методы дисциплиной не востребованы. Хотя современные компьютеры знакомы не только с арифметикой, но и с алгеброй.

Компьютеры XXI в. умеют производить аналитические преобразования, дифференцировать и интегрировать и решать дифференциальные уравнения не только численно, но и аналитически, в виде формул. И, кроме того, что немаловажно при моделировании, пакеты компьютерной математики содержат встроенные графические средства, позволяющие визуализировать решения, получать таковые сразу в виде графиков.

В настоящей работе, не отметая традиционное изложение, авторы покажут методику органичного внедрения компьютерной алгебры Maxima в конкретном примере рассмотрения темы «Свободное падение тела с учетом сопротивления среды», традиционно рассматриваемой в курсе компьютерного моделирования.

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

В классическом труде Могилева, Пака и Хеннера [1], переиздаваемом на протяжении 15 лет, тема «Свободное падение тела с учетом сопротивления среды» рассматривается подробно и всесторонне. Но классическое рассмотрение темы только выиграет, если наряду с используемым в книге численным методом решения задачи практическое применение получит компьютерная математика и ее аналитические способности.

В работе Могилева и соавт. [1] рассмотрение темы «Свободное падение тела с учетом сопротивления среды» построено очень грамотно: на первом этапе записываются уравнения движения свободно падающего тела. Рассматривается движение шарика в воздухе, воде и глицерине. На втором этапе моделируется эпизод из кинофильма «Небесный тихоход», в котором герой фильма майор Бу-лочкин падает с высоты 6 тыс. м в реку без парашюта.

Следуя труду Могилева и соавт. [1], силу сопротивления со стороны среды будем моделировать суммой двух слагаемых, зависящих от скорости падения V:

^сопр = Ь V + k 2 V 2, (1)

где - постоянные коэффициенты. Коэф-

фициент определяется свойствами среды и формой тела. Для шарика ^ = 6пцг согласно закону Стокса, где ц - динамическая вязкость среды, г -радиус шарика. Коэффициент ^ пропорционален площади поперечного сечения тела плотности среды рсреды и зависит от формы тела через безразмерный коэффициент лобового сопротивления с

в виде ^ = 2 с^уОсреды.

Силу притяжения к Земле запишем в виде произведения массы тела т и ускорения свободного падения g, точно так же, как и в работе [1],

FTKX mg ,

(2)

где g считаем не зависящим от высоты, постоянным.

Записав второй закон Ньютона - ускорение пропорционально силе и обратно пропорционально массе, для скорости падения тела V находим дифференциальное уравнение вида

dv mg - k1v - k2v2 dt

(3)

m

s (t) = [ 'v(t) dt

J 0

(4)

v + av + bv2 = ■

(5)

где V - функция (скорость падения), зависящая от аргумента (времени) I,

V - производная по времени, а, Ь, g - положительные константы

a = \ b =

(6)

m

m

тождественное уравнению (7.7) работы [1].

В отношении (7.7) авторы [1] сетуют на то, что даже в очень простой задаче возникла необходимость в решении дифференциального уравнения нестандартного типа. Они допускают, что с помощью хитроумных подстановок, имеющихся в справочнике Камке, возможно, кому-то удастся найти решение дифференциального уравнения в виде суперпозиции алгебраических и трансцендентных функций. Однако авторы [1] полагают, что после нахождения скорости падения как функции времени V = v(í) шансы найти в квадратурах пройденный путь 5 как интеграл от скорости

будут «уже совсем невелики» (см. текст и формулу (7.9) в работе [1]).

Мы со своей стороны полагаем, что нам справочник Камке не понадобится и наши шансы резко возрастут, если для решения поставленных задач использовать систему компьютерной математики (СКМ) Maxima [2-5].

Среди других СКМ пакет Maxima характеризуется тем, что является бесплатной, многоплатформенной, активно развивается, является свободно распространяемой системой с открытым кодом, не требует для работы дополнительных ресурсов компьютера, а по качеству работы ничем не уступает наиболее известным проприетарным системам Maple и Mathematica. Дистрибутив Maxima русифицирован и свободно скачивается с сайта разработчиков программы [6]. Однако Maxima пока не имеет справки на русском языке, а техническая документация на английском достаточно трудна для начинающих, поэтому рассматриваемый в настоящей работе пример снабжен подробными поясняющими комментариями.

Будем решать далее в Maxima дифференциальное уравнение вида

где k1, k2 - коэффициенты выражения (1), используемые при записи зависимости силы сопротивления от скорости.

В компьютерной алгебре Maxima решение обыкновенных дифференциальных уравнений находит функция

ode2 (Уравнение, функция, аргумент),

в качестве первого аргумента которой следует записать дифференциальное Уравнение, далее указать имя функции и имя аргумента. Для решения уравнения (5) команду (задание) для Maxima запишем в виде (%i1) (см. лист. 1). Используемую команду предваряет комментарий (текст, находящийся между скобками /* */), содержание которого никак не влияет на исполнение команды.

Листинг 1

(%il) /* находим общее решение */

ode2('diff(v,t,l)+a*v+b*v'42=g,v,t);

Is 4 b д + a1 positive or negative? у,

log

Г 2

2b v +Ы4 - ' "

J4 b g + a -a

\

(%ol) -

\ 2bv

b g + a +aj

= t + %c

b g + a

Наличие в уравнении (5) производной первого порядка мы указали в виде 'diff (v, t, 1). При поиске решения (%о1) Maxima спросила, является ли выражение положительным или оно отрицательное (Is positive or negative?).

В качестве ответа на заданный вопрос мы указали р (positive) и получили общее решение дифференциального уравнения - довольно страшное на вид выражение (%о1), содержащее скорость и в числителе, и в знаменателе, под знаком логарифма, и содержащее произвольную аддитивную константу %c в правой части решения. Из вида решения становится понятен вопрос, заданный Maxima по поводу выражения 4bg + a2. Из этой величины Maxima извлекла квадратный корень и результат поместила в знаменатель.

Для нахождения частного решения, соответствующего начальному условию v = 0 при t = 0 (задача Коши, отвечающая случаю нулевой начальной скорости падения), необходимо использовать функцию

ic 1 (Общее решение, начЗн аргумента, начЗн функции).

При этом нет необходимости преобразовывать формулу (%о1) в строковый формат для детальной записи первого аргумента (общее решение) для функции ici (), но можно сослаться на него как на % - последний полученный результат, согласно принятому в Maxima способу (лист. 2).

Листинг '1

(%i2) /* подставляем начальные условия находим частное решение */ icl(%,t=0,v=0);

Г I-Г \

leg

-2 b v

+ -IÄ

b g * а -а

(%о2)

2 b V +-J4 b g +в" * a J

£

Ь g ■

■J4

b g + a t - log

2b g

d J7

b g + a2 +2 b g + a2

£

b g +a

Maxima сумела найти решение задачи Коши, отвечающей нулевой начальной скорости. Она записала частное решение в виде формулы (%о2), которая уже не содержит произвольной константы %c. Однако решение (%о2) представляет собой уравнение, в котором функция v и аргумент t связаны неявно. Поскольку нас более устраивает явная зависимость функции от своего аргумента (так как далее мы желаем интегрировать скорость по времени, чтобы получить пройденный путь), мы тут же попросили Maxima решить алгебраическое уравнение (%о2) относительно переменной v.

Команда (%i3) может быть записана вручную или может быть вызвана через пункт меню программы Уравнение, Решить, ответственного за вызов функции solve (). Синтаксис использования функции solve () имеет вид:

solve ([список уравнений], [список переменных]). В команде (%i3) для Maxima мы опять не стали выписывать список уравнений, который в нашем случае содержит только одно уравнение, а сослались на [список уравнений] как на ранее полученный результат [%о2].

шений. Признаком списка в Maxima служат квадратные скобки. Первый (и единственный) элемент списка (%о3) - это уравнение вида v = v(t), но интересующий нас результат - это правая часть уравнения. Чтобы формально получить только правую часть решения v(t), достаточно обратиться к переменной v, но добавить ссылку % [1] - на первый элемент только что полученного списка (который в данном случае можно конкретизировать также как %о3 [1]). Следующая команда (см. лист. 4): (%i4) v,% [1] позволяет избавиться от формальных признаков списка - квадратных скобок [], знака равенства = и левой части уравнения, содержащей идентификатор функции v.

Листинг 4

(%14) /* записываем выражение для скорости */ v,%[lj; __

хтт^г

(%о4)

(дМ b д + а^ + ад) Ь 9 + 3 (-gJ4 Ьд+а2

Ça-J4 b g * а2+2 b g * a2) «e" 9 + é>~ f +

a g

2b g

Выражение (%о4) может быть использовано для расчета скорости в любой произвольный момент времени, для нахождения пройденного пути и построения графика.

Путь s можно рассчитать согласно (4) как определенный интеграл от скорости, где аргумент t изменяется от 0 - нижнего предела интегрирования до некоторого t = Т - верхнего предела интегрирования в полном согласии с формулой (7.9) работы [1].

Вычисление интегралов в СКМ Maxima выполняет функция

integrate (Подынтегральное выражение, аргумент, нижПредел, верхПредел).

После интегрирования путь, пройденный за Т секунд, оказывается представлен аналитическим выражением %о5

Листинг 5

(%i5) /* интегрируем скорость и получаем путь */ integrate(%,t,0,T);

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Is Т positive, negative or zero? p;

(%o5) - (- 2 log ( abs( a bg + a2 4 b 9 * ^ T +

лД

(2 Ь д+э2)°/0^*Ь g+a T +2b g)) ЛлЬ g+a2T + a T +2hq(\a^4bg + a2+4 b g + a2\))/ (lb)

Maxima решила (%о2) относительно функции И здесь при вычислении определенного интег-

v и получила в явном виде зависимость скорости рала необходимо пояснить для Maxima, что ис-

падения от времени v = v(t). Формально решение пользуемый новый параметр Т - число положи-

(%о3) представляет собой список найденных ре- тельное (p - positive).

Необходимо отметить, что, рассматривая полученное выражение для пройденного пути %о5, трудно увидеть, что при больших значениях времени T путь изменяется линейно и движение происходит с постоянной скоростью. Однако вывод о равномерном движении нетрудно получить из выражения %о4 (см. лист. 4), рассматривая асимптотическое поведение скорости падения при t ^-да. Легко видеть, что при t = да выражение %о4 представляет собой неопределенность вида

—, поскольку при t = да экспонента вида %е^ 4bg+a t

да

принимает бесконечное значение.

Используя знания по теории пределов стандартного курса математического анализа, нетрудно раскрыть неопределенность и записать предельное значение скорости в виде отношения коэффициента при экспоненте, находящейся в числителе, к коэффициенту при такой же экспоненте, находящейся в знаменателе. Но можно не записывать ответ, найденный умозрительно, хотя и вполне очевидный, а поручить раскрытие стандартного предела СКМ Maxima, как это сделано на лист. 6.

Листинг fi

(%i6} /* предел скорости при t = hf */ 1т1С(((д*5дгГ(4*Ь*д+ал2)+а*д)* %ел(х)-д*5цг1{4*Ь*д+ал2)-а*д)/ ((a*sqrt(4*b*g+aA2)+2*b*g+a"2)*

(%об) ■

7 J*

b д + а + а д

1-J4

2 2 •3-J4 b д +а + 2 b д + э

тематической записи %о4 последняя оказывается выделенной. Если теперь скопировать выделение (Ctrl+C) в буфер обмена, то сразу же после вставки (Ctrl+V) скопированного его можно редактировать как обычный текст. Заменить в данном случае сложное выражение вида на простую переменную, например x. Легко видеть, что предел скорости в виде аналитического выражения %о6 Maxima рассчитала как частное двух коэффициентов при экспонентах.

Покажем, что предельная скорость v, которая была рассчитана в работе [1] как решение алгебраического уравнения, тождественна выражению %о6. Следуя труду [1], приравняем нулю производную скорости по времени v' = 0 в уравнении (5), получим квадратное уравнение

av+bv2 =

(7)

Равенство нулю производной скорости означает равномерное движение с постоянной скоростью. Иными словами: физический смысл утверждения (7) соответствует равенству силы сопротивления силе тяжести.

Найдем решение уравнения (7) с помощью функции solve () и покажем, что положительное решение уравнения при делении его на предельную скорость (выражение %о6) тождественно единице - лист. 7.

Здесь неопределенность вида — раскрыла

да

и получила предельную скорость функция СКМ Maxima

limit (Выражение, переменная, значПеременной),

возвращающая предел Выражения, для значения переменной, стремящейся к значению значПе-ременной. Бесконечное значение да переменной на языке Maxima указано как inf.

Чтобы облегчить Maxima нахождение предела, в команде %o6 мы ввели временную переменную

x = Уое^^11.

Выражение для скорости в команде %i6 не писалось вручную, тем более что оно громоздкое и при записи нетрудно ошибиться, а был использован интерфейс wxMaxima, позволяющий конвертировать строковый формат выражения в математическую запись и обратно. При щелчке мыши на ма-

Таким образом, решения всех задач, сформулированных в теме «Свободное падение...», компьютерная алгебра Maxima получает в аналитическом виде.

Рассчитаем численные значения коэффициентов дифференциального уравнения (5) для случая, рассматриваемого в книге: моделирования падения летчика - майора Булочкина - с высоты 6 тыс. м. Падение происходит в воздухе, используем те же,

что и в работе [1], численные значения для физических констант:

; с = 1,22; 5 = 0,7 м2,

g = 9,81 м ; ,

Рс

1,29 ^ ; m = 80 кг.

м

И возьмем нулевое значение для коэффициента

k 0 „ „ „ a = — = 0, поскольку линеинои составляющей m

силы сопротивления при расчетах в работе [1] пренебрегли - см. лист. 8. Кроме того, рассчитаем численно предельную скорость падения. С этой целью командой %о6 вызовем выражение для предельной скорости с добавлением опции numer.

(%ilO) /* я майора Булочкина,

Теперь Maxima может автоматически подставлять значения g = 9,81; a = 0; b = 0,006885375 в формулы для скорости и пройденного пути %о4 и %о5 для каждого требуемого значения времени.

Предельная скорость падения, рассчитанная по формуле %о6, составила 37,75 м/с, что вполне согласуется с соответствующим значением 37,76 м/с, полученным в работе [1] численным методом типа Рунге - Кутта второго порядка, называемым также исправленным методом Эйлера.

Зависимость скорости падения от времени представлена на рисунке, созданном в СКМ Maxima.

На рис. 1 представлены сразу два графика: один из них выходит из начала координат и показывает изменение скорости падения со временем. Второй график (нарисован пунктиром) представляет собой горизонтальную прямую, соответствующую предельной скорости. Для построения графиков использован интерфейс gnuplot graph, который имеет многочисленные собственные варианты настройки и имеет небольшой сервис для визуального анализа графика: при смещении мыши вдоль графика в левом нижнем углу можно видеть координаты положения мыши.

Команда для визуализации скорости падения имеет очень простой вид:

| gnuplot graph

Ш У ^Options

40

Ji Grid £1*2

funl —

ю

12

12.0021, 37.6707

Изменение скорости со временем

wxplot2d ([%o4,%o13], [t,0,15], [gnuplot_ preamble, "set grid;"]) $,

где ссылка %о4 отсылает на формулу, содержащую зависимость скорости от времени, а ссылка %о13 отсылает на численное значение предельной скорости.

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

Листинг У

t= 1 9.595 4.851

1 2 v= 18.03 18.8

t 3 v= 24.63 s= 40,29

t 4 v= 29.36 s= 67,43

t= 5 v= 32,52 s= 98,48

1 6 v= 34.55 s= 132,1

t 7 v= 35,81 s= 167.3

f= 8 t/- 36,58 s= 203,6

1 9 v= 37.05 s- 240,4

I 10 i/= 37.33 s- - 277.6

t= 11 i/-37.5 s= = 315.0

t 12 i/= 37.6 s= = 352.6

t 13 i/= 37.66 s= = 390.2

t 14 i/= 37.69 s= = 427.9

t= 15 v= 37.71 s- = 465.6

(%о16) done

Рассчитанные в СКМ значения (лист. 9) сравнивались с соответствующими величинами из табл. 7.2 работы [1], рассчитанными численным методом. Среднеквадратичное расхождение по скорости составило 2% (результаты, полученные численным методом, систематически занижены).

Текст задания для Maxima (%i16), с помощью которого были получены результаты лист. 9, весьма громоздкий и нуждается в обширных комментариях, поэтому приведено задание отдельно, в текстовом виде (лист. 10), и ниже расположено описание алгоритма.

Листинг 10 (%i16)

block ([i], W: makelist (((g*sqrt (4*b*g + aA2) + a*g) *%eA (sqrt (4*b*g + aA2) *t) -g*sqrt (4 *b*g + aA2) - a*g) / ((a* sqrt (4*b*g+aA2) +2 *b*g + aA2) *%eA (sqrt (4*b*g + aA2) *t) +2 *b*g), t, 1, 15), Z: makelist (- (-2*log (abs (a* sqrt (4*b*g + aA2) *%eA (sqrt (4*b*g + aA2) *T) + (2*b*g + aA2) *%eA (sqrt (4*b*g +aA 2) *T) + 2*b*g)) + sqrt (4*b*g+aA2) *T + a* T + 2*log (abs (a*sqrt (4*b*g + aA2) + 4*b*g + aA2))) / (2*b), T, 1, 15), for i:1 thru 15 do (fpprintprec: 4, d: float (W [i]), f: float (Z [i]), print (« t=», i,» v=», d,» s= «, f)))

Команда (%i 16) содержит операторы, объединенные в блок, и использует элементы встроенного языка программирования: цикл типа for вызывает функцию makelist () и оператор вывода на печать print. В блоке описана локальная переменная i, которая служит параметром цикла. Вместо обычной ссылки на результат вида (%o4) здесь полностью оказывается необходим текст формулы для скорости, поскольку зависимость от параметра в функции makelist () передается явно через выражение. Функция makelist () необходима для создания списка значений, подлежащих выводу на печать.

Функция makelist () генерирует два списка: список значений скоростей W и список значений пройденного пути Z. Список W содержит 15 элемен-

тов - скоростей падения для 15 значений времени в интервале 1-15 с шагом 1. Аналогичный список Z содержит такое же количество значений пройденного пути s для тех же самых значений времени из интервала 1-15. Синтаксис использования функции makelist () следующий

makelist (Выражение, Параметр, первоеЗнач, последнееЗнач).

Для вывода на печать элементов списка используется цикл вида

for i: 1 thru 15 do (Блок вывода на печать). Чтобы ограничить число значащих цифр, выводимых на печать, глобальной переменной компьютерной алгебры fpprintprec внутри блока присвоено значение 4, а при выводе используются временные переменные d и f, значения которым передаются с помощью функции float.

В заключение попутно сделаем замечание по поводу легитимности исследуемого дифференциального уравнения (3). Уравнение (3) было записано как уравнение движения свободно падающего тела (уравнение (7.7) работы [1]). Однако при выводе этого уравнения никак не учитывалась сила Архимеда - выталкивающая сила, создаваемая средой, направленная вверх. Архимедова сила пропорциональна объему тела и плотности среды. При падении в воздухе ею можно пренебречь ввиду низкой плотности воздуха. Однако в случае воды и глицерина архимедовой силой пренебрегать нельзя, так как в случае воды и глицерина деревянный шар будет не тонуть, а всплывать, потому что сила Архимеда в этих случаях превышает силу тяжести. При падении стального и медного шариков через воду и глицерин пренебрегать силой Архимеда также не следует ввиду сравнительно высоких плотностей жидких сред. По недосмотру в книге [1] сила Архимеда из внимания упущена, поэтому оценка предельных скоростей в случае воды и глицерина там выполнена неверно и нуждается в корректировке, начиная с записи уравнения движения.

Список литературы

1. Могилев А. В., Пак Н. И., Хеннер Е. К. Информатика: учеб. пособие для студ. пед. вузов. М.: Академия, 1999-2012. 816 с.

2. Чичкарев Е. А. Компьютерная математика с Maxima: руководство для школьников и студентов. М.: Alt Linux, 2012. 384 c.

3. Чичкарев Е. А. Академия Alt Linux: компьютерная математика с Maxima. URL: http://www.intuit.ru/studies/courses/3484/726/info/ (дата обращения: 01.09.2015).

4. Маевский Е. В., Ягодовский П. В. Компьютерная математика. Высшая математика в СКМ Maxima. Ч. I. Введение. М.: Финансовый университет, 2014. 196 с. URL: http://e-math.ru/maxima (дата обращения: 01.09.2015).

5. Стахин Н. А. Основы работы с системой аналитических (символьных) вычислений Maxima: учебное пособие. М., 2008. 86 с. URL: ftp:// ftp.altlinux.ru/pub/people/black/MetodBooks/Maxima.pdf (дата обращения: 01.09.2015).

6. Сайт разработчиков Maxima. URL: http://sourceforge.net/projects/maxima/files/ (дата обращения: 01.09.2015).

Стахин Н. А., кандидат физико-математических наук, доцент. Томский государственный педагогический университет.

Ул. Киевская, 60, Томск, Россия, 634061. E-mail: [email protected]

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Материал поступил в редакцию 21.05.2015.

N. A. Stakhin

AN EXAMPLE OF USING COMPUTER ALGEBRA MAXIMA IN THE DISCIPLINE "COMPUTER MODELLING"

The article deals with the modelling of pilot falling from a height of 6 000 meters in water. It is shown that the use of computer algebra system (CAS) Maxima qualitatively improves the consideration of the topic "Freefall considering environmental resistance", traditionally studied in the discipline "Computer simulation". Maxima has found the general solution of the nonlinear differential equation and found a partial solution with zero initial conditions - the Cauchy problem. CAS Maxima has found the analytical expression for the rate of fall and height fallen down as the functions of time. CAS Maxima has obtained the asymptotic behavior of the rate of fall in the time and has calculated the rate limit of fall. CAS Maxima calculated numerically intermediate values of fall speed and height fallen down for the 15 time values in the range of 1-15 in increments of 1. These values are compared with analogical values calculated by numerical method in book, with the standard deviation for rate is equal 2 %. CAS Maxima has plot graphics the rate of fall versus the time.

Key words: model, computer modeling, computer algebra Maxima, integrated programming language, cycle operator, differential equation, initial conditions, Cauchy problem, free-fall, force of gravity, force of resistance, Archimedes force, Stokes' law, drag coefficient.

References

1. Mogilev A. V., Pak N. I., Henner E. K. Informatika. Uchebnoye posobiye dlya studentovpedagogicheskih vuzov [Informatics. Tutorial book for students of pedagogical universities]. Moscow, Akademiya Publ., 1999-2012. 816 p. (in Russian).

2. Chichkarev E. A. Komp'yuternaya matematika s Maxima. Rukovodstvo dlya shkol'nikovi studentov [Computer mathematics with Maxima: A guide for schoolchildren and students]. Moscow, Alt Linux Publ., 2012. 384 p. (in Russian).

3. Chichkarev E. A. Akademiya Alt Linux: Komp'yuternaya matematika s Maxima [Academy of Alt Linux: Computer mathematics with Maxima]. URL: http://www.intuit.ru/studies/courses/3484/726/info/ (accessed 1 September 2015) (in Russian).

4. Mayevskiy E. V., Yagodovskiy P. V. Komp'yuternaya matematika. Vysshaya matematika v SKM Maxima. Chast' 1. Vvedeniye. Uchebnoye posobiye [Computer mathematics. Higher mathematics CAS Maxima. Part I. Introduction: Manual]. Moscow, Finansovyy universitet Publ., 2014. 196 p. URL: http://e-math.ru/maxima/ (accessed 1 September 2015) (in Russian).

5. Stakhin N. A. Osnovy raboty s sistemoy analiticheskih (simvol'nykh) vichisleniy Maxima: uchebnoye posobiye [Basics of the work with system of analytical (symbolic) computations in Maxima: Textbook]. Moscow, 2008. 86 p. URL: ftp://ftp.altlinux.ru/pub/people/black/MetodBooks/Maxima. pdf (accessed 1 September 2015) (in Russian).

6. SaytrazrabotchikovMaxsima [Website of Maxima developers] URL: http://sourceforge.net/projects/maxima/files/ (accessed 1 September 2015).

Stakhin N. A.

Tomsk State Pedagogical University.

Ul. Kievskaya, 60, Tomsk, Russia, 634061. E-mail: [email protected]

i Надоели баннеры? Вы всегда можете отключить рекламу.