Суббота, 04.04.2026, 21:47Приветствуем вас Гость | RSS
Решение задач в среде R
Главная | мехду | Регистрация | Вход
» Меню сайта

» R практикум

» R кодинг

» Rmatem

» Опрос
Сколько вам лет?
Всего ответов: 9

» Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

Решаем задачу по механике с помощью дифференциального уравнения в среде R

Задача №69 (из сборника А.П. Рымкевич "Сборник задач по физике", Москва "Просвещение" 1987г.) страница 16. При аварийном торможении, автомобиль движущийся со скоростью 72 км/ч, остановился через 5 секунд.Найти тормозной путь.

Решим эту задачу дифференциальным уравнением в среде R. 

Переведем 72 км/ч в м/с (72 *1000 /3600 = 20). Таким образом начальная скорость движения автомобиля v0 = 20 метров в секунду. Скорость при равноускоренном движении меняется по закону v = v0 + at и мы можем вычислить чему равно ускорение (заметим что исходя из условия задачи на t = 5 секунде торможения автомобиль остановился, значит в этот момент его скорость v = 0. Подставим известные величины в уравнение (v = v0 + at): 0 = 20 - a*5, отсюда a = 20/5 = 4 метра на секунду в квадрате. И мы можем записать уравнение изменения скорости при торможении как: v = 20 - t*4. Так как скорость есть производная пути по времени, то для нахождения обратной задачи нам нужно решить дифференциальное уравнение, представив скорость v в виде дифференциалов v = ds/dt

 

Разделим переменные умножив обе части на dt получим: ds = ( v0 + at)dt или s′ = 20 - 4t с начальным условием v(5) = 0. Решим задачу в среде R (пояснение y0 = 0 означает что с момента начала торможения путь равнялся нулю, t0 = seq(0, 5, 0.5) означает что мы будем находить пройденный путь с момента начала торможения 0 сек до полной остановки автомобиля на 5 секунде, с шагом в 0.5 секунд)

# y′ = 20 - 4t
library(deSolve)
f1 = function(t, y, parms ){
  dy.dt = 20 - t*4 
  return ( list ( dy.dt ))}
y0 = 0; t0 = seq(0, 5, 0.5)
sol = ode(y = s0, t = t0, func = f1, parms = NULL)
sol
plot(sol[ ,1], sol[ ,2], type = "l", xlab =" t ", ylab =" y( t )",
     col =" red ", lwd =4)
grid(col = 'black')

> y0 = 0; t0 = seq(0, 5, 0.5)
> sol = ode(y = s0, t = t0, func = f1, parms = NULL)
> sol
 time 1
1 0.0 0.0
2 0.5 9.5
3 1.0 18.0
4 1.5 25.5
5 2.0 32.0
6 2.5 37.5
7 3.0 42.0
8 3.5 45.5
9 4.0 48.0
10 4.5 49.5
11 5.0 50.0

Итак, мы нашли что на 5 секунде тормозной путь автомобиля составит 50 метров, задача решена. Так же по построенному графику можно определить какой путь автомобиль пройдет на 5 секунде торможения (ответ будут точно такой же)

А теперь в качестве тренировки решите самостоятельно задачу о тормозном пути, если уравнение скорости v = 20 -2t . Попробуйте самостоятельно написать скрипт и решить задачу. Я же решу эту задачу сначала на доске, а потом ... применим ретро вычислительную технику в лице программируемого советского калькулятора МК-52  с Блоком Расширения Памяти БРП-3, видео ниже - приятного просмотра. Ну а скрипт найдете в самом конце страницы.

скрипт здесь (выдели и увидишь):

# y′ = 20 - 2t
library(deSolve)
f1 = function(t, y, parms ){
  dy.dt = 20 - t*2 
  return ( list ( dy.dt ))}
y0 = 0; t0 = seq(0, 10, 0.5)
sol = ode(y = s0, t = t0, func = f1, parms = NULL)
sol
plot(sol[ ,1], sol[ ,2], type = "l", xlab =" t ", ylab =" y( t )",
     col =" red ", lwd =4)
grid(col = 'black')

» Вход на сайт

» Поиск

» Работа с файлами

» Вся графика

» Гистогра́мма

» Теория вероятности

» Сравнение групп

» Дисперс анализ

» Блог

» Календарь
«  Апрель 2026  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
27282930

» Архив записей


Copyright MyCorp © 2026
uCoz