Здравствуйте! Решаю зачетную задачу по математическому анализу (matlab). Сама задача:
Грузовику предстоит проехать по проселочной дороге, соединяющей населенные пункты M и N, а велосипедисту по шоссе, соединяющей поселки S и Q (направления движения уточнены в вариантах). Если на карте (ее масштаб 1:100000), имеющей форму прямоугольника ABCD, ввести декартову систему координат с осями Ox и Oy (см. рис., изображение условно), то форму дорог с большой точностью можно описать уравнениями
![$y = f_1(x)$ $y = f_1(x)$](https://dxdy-04.korotkov.co.uk/f/7/9/a/79ad498eb9f5521294e1138307d33e3c82.png)
и
![$y = f_2(x)$ $y = f_2(x)$](https://dxdy-04.korotkov.co.uk/f/f/4/d/f4df36523d38e849c76c32e565d5371182.png)
(или параметрически:
![$x = \varphi_1(t); y = y_1(t)$ $x = \varphi_1(t); y = y_1(t)$](https://dxdy-03.korotkov.co.uk/f/6/8/a/68addcb2e767d9d65b7a90e28010fb5482.png)
). Грузовик движется с постоянной скоростью
![$v_1$ $v_1$](https://dxdy-01.korotkov.co.uk/f/4/1/9/41922e474070adc90e7c1379c28d22fe82.png)
км/ч, велосипедист – с постоянной скоростью
![$v_2$ $v_2$](https://dxdy-02.korotkov.co.uk/f/5/3/2/53292819177dbb29ba6d92fe3aa2880c82.png)
км/ч.
Часть 1. В полдень грузовик и велосипедист выехали по своим маршрутам. Выясните, с какой разностью во времени грузовик и велосипедист проедут каждую из точек, в которой их маршруты пересекаются.
Часть 2. Постройте графики зависимостей декартовых координат грузовика и велосипедиста в зависимости от времени движения.
Часть 3. Определите моменты времени, в которые при движении по маршрутам грузовик и велосипедист окажутся на минимальном (по прямой) расстоянии друг от друга. Указать координаты их местоположений в этот момент времени.
Пример входных данных:
![$
\begin{tabular}{|l|l|l|l|l|l|l|l|l|}
$y = f_1(x)$ & $y = f_2(x)$ & $v_1$ & $v_2$ & $x_M$ & $x_N$ & $t_Q$ & $t_S$ & \begin{tabular}[c]{@{}l@{}}Направление \\ движения\end{tabular} \\
\hline
$y = \cos(x)$ & \begin{tabular}[c]{@{}l@{}}$y = \cos(t)$\\ $x = \sin(t)$\end{tabular} & $18$ & $30$ & $2$ & $27$ & $0.01\pi$ & $1.1\pi$ & \begin{tabular}[c]{@{}l@{}}$N \to M$\\ $Q \to S$ \\ (против ч.с.)\end{tabular}
\end{tabular}
$ $
\begin{tabular}{|l|l|l|l|l|l|l|l|l|}
$y = f_1(x)$ & $y = f_2(x)$ & $v_1$ & $v_2$ & $x_M$ & $x_N$ & $t_Q$ & $t_S$ & \begin{tabular}[c]{@{}l@{}}Направление \\ движения\end{tabular} \\
\hline
$y = \cos(x)$ & \begin{tabular}[c]{@{}l@{}}$y = \cos(t)$\\ $x = \sin(t)$\end{tabular} & $18$ & $30$ & $2$ & $27$ & $0.01\pi$ & $1.1\pi$ & \begin{tabular}[c]{@{}l@{}}$N \to M$\\ $Q \to S$ \\ (против ч.с.)\end{tabular}
\end{tabular}
$](https://dxdy-03.korotkov.co.uk/f/2/a/c/2ac4f49076fe97b6fcf58ae6c95fa57982.png)
Уравнение траектории грузовика суть
![$f = y_1(x)$ $f = y_1(x)$](https://dxdy-03.korotkov.co.uk/f/6/6/e/66eb3e4e0e129a71e0aa7fbbd054a80982.png)
.
Уравнение траектории велосипедиста же задано параметрически:
![$
\left\{
\begin{array}{rcl}
x = x(t) \\
y = y_2(t)\\
\end{array}
\right.
$ $
\left\{
\begin{array}{rcl}
x = x(t) \\
y = y_2(t)\\
\end{array}
\right.
$](https://dxdy-03.korotkov.co.uk/f/a/b/b/abb693331b797f7ff73da0ad093816a982.png)
Причем t - не время! а просто параметр, который изменяется в заданном диапазоне.
Первый пункт решил довольно просто: в уравнение грузовика
![$y_1$ $y_1$](https://dxdy-04.korotkov.co.uk/f/f/7/0/f7019b486d7fc8f840b0ce0bb0d4171482.png)
вместо
![$x$ $x$](https://dxdy-04.korotkov.co.uk/f/3/3/2/332cc365a4987aacce0ead01b8bdcc0b82.png)
подставил
![$x(t)$ $x(t)$](https://dxdy-04.korotkov.co.uk/f/f/9/2/f92a2fed82f1dacdec6e4d5a05fbbf9782.png)
, приравняв равенство к
![$к y_2(t)$ $к y_2(t)$](https://dxdy-01.korotkov.co.uk/f/8/6/3/863268ac896c21d9123c4ed92514d45482.png)
:
![$
y_1(x(t)) = y_2(t)
$ $
y_1(x(t)) = y_2(t)
$](https://dxdy-01.korotkov.co.uk/f/4/2/d/42dc75e5f0b83f268479d91d456e9d1582.png)
Последнее уравнение просто решается, получаются корни (координаты пересечения траекторий). Затем составляем интегралы (длина дуги кривой). Делим их на скорости - получаем время. Вычитаем одно от другого.
Второй пункт сообразил быстро, но до конца не уверен в правильности реализации. Три варианта решения:
1) Ищем зависимость не координат от времени, а времени от координат. Те задаем какой-нибудь икс. Для него считаем игрек, через интеграл отыскиваем длину дуги. Делим искомую длину на скорость - получаем время (это для грузовика). С автомобилем - аналогично. Так я и сделал - все работает
2) По сути считать интеграл в цикле. Верхняя граница интеграла - неизвестная (ее в цикле подбираем). Время задается изначально. Имеем:
![$
\int\limits_{N_x}^{x}{\sqrt{1+y_1'^2}dx} = time{\cdot}u_1
$ $
\int\limits_{N_x}^{x}{\sqrt{1+y_1'^2}dx} = time{\cdot}u_1
$](https://dxdy-01.korotkov.co.uk/f/8/2/c/82cbf07b5b1954fa1dce836d4aa8baf782.png)
Но тут необходимо ж для всего временного промежутка иксы подбирать (те задавать разное время для построения графика - а под время искать иксы). Крутить цикл в цикле да еще и с маленьким шагом - просто самоубийство. Вряд ли этот вариант пригоден.
3) Посчитать первообразную для интеграла длины дуги. Вспомнить про формулу Ньютона-Лейбница, составить уравнение связи. Но... там ее хрен возьмешь. Не берется интеграл и все тут.
Все ничего - пункт ж решен, хоть и, возможно, криво...
А что с 3 делать? Вот тут я в полном ступоре. Ведь у нас нет явной функции зависимости координат от времени.
Все, что мы имеем из второго пункта - некий набор координат и время под эти координаты. Как быть? Подскажите, пожалуйста!
Прикрепляю скрипт файл решения для матлаба (входные данные у меня другие, не как на второй картинке, но сути не меняет):
https://pastebin.com/raw/0uTFZNBA