LINUX.ORG.RU
решено ФорумTalks

[математикам] [рекурсия] задачка

 


0

0

задачка: Бак для воды имеет форму куба без верхней крышки со стороной 10м. Пусть уровень воды, отсчитываемый от дна бака, в момент времени t секунд равен h(t). Начиная с t=0 секунд вода наливается в бак с постоянной скоростью 1 кубический метр в секунду и, ондновременно, вода вытекает из бака со скоростью 0,25h(t) кубических метров в секунду. Тогда объём воды в баке(в кубических метрах) при t -> к бесконечности стремится к...

как такое решается, кто знает?

★★★★★

> как такое решается, кто знает?
почти все

ethercrow
()
Ответ на: комментарий от helios

я уже думал над этим. тут не ряд, оно же линейные функции времени. но значения в целых t сходятся, да.

RedPossum ★★★★★
() автор топика
Ответ на: комментарий от RedPossum

>оно же линейные функции времени

вру. никакие они не линейные.

RedPossum ★★★★★
() автор топика
Ответ на: комментарий от winlogon

Объем изменяется со скоростью 1-0,25h(t) м^3/сек.

Т.е. высота изменяется со скоростью (1-0,25h(t))/100.

h' = (1-0.25h)/100

ttnl ★★★★★
()
Ответ на: комментарий от ttnl

h = e^(-0.0025t) + 4

h(0) = 0 => должно быть 0 == 5, чего не может быть.

ttnl ★★★★★
()
Ответ на: комментарий от winlogon

Хотя кажется я нашел только одно решение. Забыл уже все. Счас

ttnl ★★★★★
()

Может такое решение?

Когда установится равновесие, скорость втекания станет равна скорости вытекания, т.е 0.25 * h(t) = 1 => h(t) = 4. Как-то так.

winlogon
()
Ответ на: комментарий от madcore

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

RedPossum ★★★★★
() автор топика
Ответ на: комментарий от x905

h = A*e^(-0.0025t) + 4
h(0) = 0 = 4+A => A=-4

h = 4 - 4e^(-0.0025t)

ttnl ★★★★★
()

ок. поехали. имеем:

V(t) = 10 x 10 x h(t)

dV(t)/dt = 1 - 1/4 h(t)

V(t) ' = 100 h'(t) = 1 - 1/4 h(t)

100 h'(t) + 1/4 h(t) = 1

решаем линейку

100 h'(t) + 1/4 h(t) = 0

h = C exp ( -1/400 t)

решаем ненулевое:

h = C(t) exp (-1/400 t)

подставляем в уравнение, учитывая, что h' = C' exp - 1/400 C exp

C'(t) exp = 1

C'(t) = exp (1/400 t)

C (t) = 400 exp (1/400t) + C2

h(t) = (400 exp (1/400 t + C2) exp (-1/400 t) = 400 + C2 exp (-1/400 t)

подставляем начальное условие: h(0) = 0:

C2 = -400;

предел по h = 400

проще говоря, бак будет переливаться.

gunja
()
Ответ на: комментарий от Xenius

ключевое слово интернет. кароче штука такая: берут кого попало, зачем проводят - непонятно. наверне всё дело во втором туре.

RedPossum ★★★★★
() автор топика

Я понимаю, что Ъ должны уметь решать эту задачу в уме, но моя Maxima говорит следующее

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

Nixopatolog
()
Ответ на: комментарий от winlogon

>задача решается в одно действие.

Это как?

ttnl ★★★★★
()
Ответ на: комментарий от Nixopatolog

а на 10 на 10 кто будет умножать? именение высоты от 1 кубометра на 100 квадратных метрах будет наверное отличаться от 1 квадратного метра?

gunja
()
Ответ на: комментарий от ttnl

На самом деле, правильное решение - у winlogon. Хотя, разумеется, наши с вами ответы - тоже верны.

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

Nixopatolog
()
Ответ на: комментарий от greed

> нет, что видно и из условий задачи и из курса физики школы или универа

снова задаю вопрос: какое изменение уровня воды в баке будет после заливки 1 кубометра воды если площадь бака 100 квадратов (1), если площадь бака 1 квадратный метр?

откуда и получаем, что везде, где уравнения писались для уровня, вместо 1 стоит писать 0.01. и высота получится 400, а никак не 4.

и да. это из курса физики.

gunja
()

Завтра к.р. по дифурам? Причем здесь рекурсия?

metar ★★★
()
Ответ на: комментарий от gunja

Что? У меня даже скрипт выдает:

#!/usr/bin/python3

h = 0
V = 0
for i in range(100000):
    V = V + 1
    V = V - 0.25 * h
    h = V / 100

print(V)

400 - это объем.

winlogon
()
Ответ на: комментарий от gunja

У тебя кстати здесь ошибка:

h(t) = (400 exp (1/400 t + C2) exp (-1/400 t) = 400 + C2 exp (-1/400 t)


Правильно так:

400 exp (1/400 t + C2) exp (-1/400 t) = 400 exp(1/400 t + C2 -1/400 t) = 400 exp(C2)

ttnl ★★★★★
()

Интересно, сразу видно, как аудитория ЛОРа разделилась на школьников, студентов-хорошистов, студентов-троечников (типа меня) и людей, давно закончивших универ и школу, и всё забывших.

Nixopatolog
()
Ответ на: комментарий от Nixopatolog

Быстро забывается, однако. Я закончил 2 года назад.

Реквестую в следующую пятницу заседание клуба «вспоминаем матан» :)

ttnl ★★★★★
()
Ответ на: комментарий от ttnl

> У тебя кстати здесь ошибка

правильно так:

h(t) = C(t) exp = (400 exp (1/400 t) + C2) exp (-1/400 t) = 400 + C2 exp (-1/400 t)

gunja
()
Ответ на: комментарий от gunja

таки ошибочка вышла:

подставляем в уравнение, учитывая, что h' = C' exp - 1/400 C exp

100 C'(t) exp = 1 C (t) = 4 exp (1/400t) + C2 h(t) = (4 exp (1/400 t + C2) exp (-1/400 t) = 4 + C2 exp (-1/400 t) C2 = -4 предел по h = 4

упс. все, кто говорил про 4 метра, оказались правы.

gunja
()
Ответ на: комментарий от gunja

>V(t) = 10 x 10 x h(t)

dV(t)/dt = 1 - 1/4 h(t)


V(t) ' = 100 h'(t) = 1 - 1/4 h(t)


100 h'(t) + 1/4 h(t) = 1


решаем линейку


100 h'(t) + 1/4 h(t) = 0


h = C exp ( -1/400 t)


решаем ненулевое:


h = C(t) exp (-1/400 t)


подставляем в уравнение, учитывая, что h' = C' exp - 1/400 C exp


C'(t) exp = 1


Твое решение неправильное. Последняя строка неправильная.

C'(t)exp = h' + 1/400 C exp = 1/100 (100 h' + 1/4 C exp) = 1/100 (100 h' + 1/4 h) = 1/100

ttnl ★★★★★
()
Ответ на: комментарий от ttnl

> Твое решение неправильное

я это уже понял.

Последняя строка неправильная

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

gunja
()
Ответ на: комментарий от RedPossum

> ответ 400.

Приведена задача и ответ. В чем тогда заключался вопрос?

sign
()
Ответ на: комментарий от gunja

>а вот выверили вы не верно где она не правильная.
C'(t) exp = 1 должно быть равно 1/100

вы

На будущее можно на «ты», я пока не пенсионер :)

ttnl ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.