Это примитивное кв. уравнение или чёрная дыра?

Аватар пользователя DRVTiny

Была поставлена передо мной совершенно элементарная по сути задача: рассчитать линейные размеры полигона для складирования ТБО, зная отношение a/b (длина к ширине), высоту H полигона и его объём V. Также известно, что уклон "скосов" полигона со всех сторон одинаковый (сечение у полигона и "вдоль", и "поперёк" - трапеция) и равен 4:1, т.е на единицу высоты откоса приходится 4 единицы ширины.

Но это всё не важно и к делу имеет только самое посредственное отношение, важно, колоссально важно совсем другое...

Пожалуйста, проследите внимательно за ходом моей мысли...

Имеем квадратное уравнение:
(a^2)*k*H - a*4*(H^2)*(1+k) - ( V - 64/3*(H^3) ) = 0 [ур.1], где
V,H,k - постоянные величины
a - переменная, значение которой необходимо найти

По идее можно вычислить значение (теоретически их может быть одно, два или ни одного) a классическим методом, через нахождение дискриминанта ( "как в школе учили" )

C0 = 2*(H^2)*(1+k)

Дискриминант:
D = C0^2 + (V - 64/3*(H^3) )*k*H

Значения а:
a = ( C0+-SQR(D) ) / (k*H), т.е.
a1 = ( C0 + SQR(D) ) / (k*H)
a2 = ( C0 - SQR(D) ) / (k*H)

Находим значения a1 и a2 например для H=45, V=4072309, k=3
a1=293,68146663318, a2=-53,681466633178
Проверка: подставляем значения a (сначала a1, потом a2) в ур.1, видим, что да, действительно на выходе равенство нулю соблюдается
Теперь ставим значение "с потолка", видим, что теперь условие равенства нулю не соблюдается.
Всё отлично, всё замечательно, но... только до тех пор, пока мы не поменяем
C0 = 2*(H^2)*(1+k) на C0 = 4*(H^2)*(1+k) или на 1.5*(H^2)*(1+k) и т.д., после чего снова пересчитаем a1 и a2 по "неправильному" значению C0. Теперь получим пару значений a1 и a2, сколь угодно значительно отличающихся от той пары, что была "скалькулирована" нами ранее (всё зависит от того, сколь существенные изменения претерпел коэффициент 2 перед исходным выражением C0)

Подставляем эту вторую пару значений a в ур.1, и видим небольшую чёрную дыру в пространственно-временном континууме (или в моих бренных мозгах?) : эти две пары значений тоже дают на выходе ур.1 "классический" нуль
И таких пар дискретных (т.е просто так значение a взять нельзя, нужно его подбирать с помощью вычисления "неправильного дискриминанта") для уравнения 2-й степени можно подбрать сколько угодно (а должно быть либо N<=2 значений, либо просто при D<0 ур.1 не имеет решения)!

Помогите, пожалуйста, с этим разобраться, а то я уже и не знаю, то ли у меня совсем рассудок помутился, то ли компьютер считать резко разучился!

Ниже привожу код соотв. программы на языке GamBas:

' Gambas module file
PUBLIC SUB Main()
 DIM rslt AS Float
 rslt = calc_lin_a(3, 45, 4072309)
 PRINT "result=" & rslt
END
PRIVATE FUNCTION calc_lin_a(k AS Float, H AS Float, V AS Float) AS Float
 DIM D AS Float
 DIM C[4] AS Float
 DIM D1 AS Float
 DIM k1 AS Float
 DIM a[3] AS Float
 DIM Vs[2] AS Float
  k = Abs(k)
  IF k < 1 THEN k = 1 / k
  k1 = 0.5 * (V / (4 * (H ^ 3)) - 16 / 3) + 1
  D1 = k1 * k1 - 1
  IF D1 >= 0 THEN
   a[0] = - k1 - Sqr(D1)
   a[1] = - k1 + Sqr(D1)
   IF (k >= a[0]) And (k <= a[1]) THEN
    PRINT "k must NOT be in the following boundaries: ("; a[0]; ";"; a[1]; ")"
    RETURN -1
   END IF
  END IF
  C[2] = V - 64 / 3 * (H * H * H)
  C[1] = 2 * H * H * (1 + k)
  C[0] = k * H

  D = Sqr(C[1] * C[1] + C[2] * C[0])

  a[0] = (C[1] + D) / C[0]
  a[1] = (C[1] - D) / C[0]
  a[2] = (a[0] + a[1]) / 2

  Vs[0] = a[0] * a[0] * C[0] - a[0] * 2 * C[1] + (V - C[2])
  Vs[1] = a[1] * a[1] * C[0] - a[1] * 2 * C[1] + (V - C[2])
  PRINT "a1="; a[0]; " a2="; a[1]; " V1="; Vs[0];" V2="; Vs[1]
  RETURN a[0]
END FUNCTION

Умоляю, если вы немного соображаете в математике, помогите мне, дайте хотя бы более-менее разумное объяснение тому, почему вообще такой бред получается Грустный !! А то я уже начинаю в состояние депрессивного транса входить ... Не далеко и до психоза

Пожалуйста, не бросайте товарища в беде, один на один с этой ахинеей!..

Аватар пользователя Profan

Re: Это примитивное кв. уравнение или чёрная дыра?

DRVTiny: "а то я уже и не знаю, то ли у меня совсем рассудок помутился, то ли компьютер считать резко разучился!"

Наверное первое Улыбка
Я, например, интересуюсь АСП10, но не квадратными уровнениями...
Недавно надо было построить напорную характеристику трубопровода. Формула - кубический корень из отношения.
Мне и в голову не пришло загонять это в комп.
Взял калькулятор и получил результат.
Так несколько раз и график готов...

Аватар пользователя DRVTiny

Re: Это примитивное кв. уравнение или чёрная дыра?

Цитата:
Я, например, интересуюсь АСП10, но не квадратными уровнениями...

Неужели только данным конкретным дистрибутивом? И этим всё ограничивается? Однако...

Цитата:
Взял калькулятор и получил результат.
Так несколько раз и график готов.

А если бы тебе дали 10 трубопроводов рассчитать, тоже брал бы в руки калькулятор? А если на графике 50 точек надо проставить? А если зависимость, графическая интерпретация которой строится на графике, имеет нормальное аналитическое выражение (т.е можно не о отдельным точкам аппкросимировать, а сразу всю зависимость строить)? Ну хорошо, предположим, сделаешь ты это с помощью калькулятора, но только представь, что львиную долю времени расчёта мозги будут заняты не реальной проблемой, которую ты решаешь, а цифрами и координацией механических движений пальцев, нажимающих на клавиши калькулятора. Конечно, по компьютерной клавиатуре тоже стучать приходится, но при этом хотя бы проблему можно объять целиком, абстрагируясь от конкретных значений величин (которые при малейшей ошибке в "калькуляторных" расчётах на поверку окажутся не более, чем мусором, кратковременно осевшим в голове того, кто эти расчёты проводил). Системный подход надо вырабатывать и алгоритмичность мышления, иначе над средним уровнем (не о благосостоянии речь идёт, а об интеллектуальном развитии, способности "видеть лес за деревьями") подняться не удастся никогда.
Я вообще практически все расчёты провожу только в общем ("универсальном") виде. Тырканье по калькулятору меня здорово раздражает: ведь в этих цифрах смысла-то никакого нет (я не говорю о том, что в принципе при расчётах надо бы ещё и придерживаться определённой точности вычислений, а не писать "по наитию" где-то 10, а где-то 6 знаков после запятой, когда исходные данные имели начальную точность всего лишь 3 знака).

Аватар пользователя Profan

Re: Это примитивное кв. уравнение или чёрная дыра?

Сколько сарказма в этой строчке...
"Неужели только данным конкретным дистрибутивом?"

На данном этапе меня интересует именно АСП10 - поэтому я сюда и заглядываю...
Каждый рубашку по себе подбирает.
Между прочим, какую микросхему применить для кабеля мобильника я тут не спрашиваю.

Я понимаю, ты запарился со своим квадратным уравнением.
Могу только посочуствовать.
Но тут навряд ли кто это может разрулить...
Так же, как и в вопросе (волнующем меня) как порядок сдачи финансовых отчетов в налоговую инспекцию. Т.е. какой закон его регламентирует.
Для этого есть другие форумы.

"Ну хорошо, предположим, сделаешь ты это с помощью калькулятора, но только представь, что львиную долю времени расчёта мозги будут заняты не реальной проблемой, которую ты решаешь"

Было у меня такое. Пальцы горели, калькулятор устал больше чем я, ошибки мои замучали меня же... Но сражался до конца. Курсовую одну хитрую делал. Одни эмпирические трехэтажные формулы. Других вариантов просто небыло.

Лучше подскажи мне, почему у меня вдруг часы на компе начали безбожно отставать?
Уже три таблетки поменял. Раньше было все нормально.
Ничего не крутил и не менял. Винт только новый поставил.

Аватар пользователя DRVTiny

Re: Это примитивное кв. уравнение или чёрная дыра?

Цитата:
Между прочим, какую микросхему применить для кабеля мобильника я тут не спрашиваю.

Мобильник-то ведь может и под управлением Linux работать, так что и такой вопрос при определённом стечении обстоятельств окажется вполне правомерным. Но вообще про это квадратное уравнение я спросил именно здесь только потому, что мне спрашивать больше не у кого и негде. А среди завсегдатаев форума много людей, которых я достаточно давно знаю, к тому же среди них есть индивидуумы, получившие высшее образование по специальности, напрямую связанной с математическим программированием (не буду "показывать пальцем", но таковые у нас действительно наличествуют)

Цитата:
Между прочим, какую микросхему применить для кабеля мобильника я тут не спрашиваю.

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

Цитата:
Лучше подскажи мне, почему у меня вдруг часы на компе начали безбожно отставать?
Уже три таблетки поменял. Раньше было все нормально.
Ничего не крутил и не менял. Винт только новый поставил

Может, у тебя при подключении к интернет синхронизация автоматическая с каким-нибудь сервером на Ямайке происходит? На самом деле такое бывает и довольно часто... Вообще какой-то системный сервис в Linux за это отвечает, и если его по недоразумению включить, можно получить довольно неожиданные результаты.
Винт тут явно не при чём: BIOS в скрытые области диска текущее время не записывает (это глупость какая-то), единственное, для чего BIOS на современных маьеринских платах может использовать диск - это для записи резервной копии самоей себя для оператинвого восстановления после вирусной атаки (не знаю, может быть, ещё красочные boot logo материнских плат на чипах от Intel тоже из энергонезависимой flash на винчестер пишутся?).
Кстати, попробуй как-нибудь поставить часы CMOS на правильное время, загрузить комп в MS-DOS или FreeDOS, оставить его часиков эдак на 6, после чего ещё раз произвести сверку времени, записанном на CMOS с курантами.

Аватар пользователя Profan

Re: Это примитивное кв. уравнение или чёрная дыра?

По поводу микросхемы - это как пример.
Я пошел в соответ. конференцию и нашел нужный мне ответ.
Значит и с применением компа для математики есть соотв. форумы.

"Вот если у тебя будут возникать проблемы с низкоруовневым программированием на ассемблере в Protected Mode"

Навряд ли... Это не мое.
Для меня комп - инструмент.
И я ищу ему применение для моих задач на том уровне понимания, который имею...

"Кстати, попробуй как-нибудь поставить часы CMOS на правильное время, загрузить комп в MS-DOS или FreeDOS, оставить его часиков эдак на 6, после чего ещё раз произвести сверку времени, записанном на CMOS с курантами."

Это уже мысль... Благодарю.
Попробую как нибудь.

Аватар пользователя Profan

Re: Это примитивное кв. уравнение или чёрная дыра?

По поводу часов.
Проделал простой трюк.
В БИОСЕ выставил правильное время (вечером) и загрузился с загрузочной виндовой дискеты в ДОС. Запустил VC и вижу время.
Оставил так на всю ночь. Утром проверил время - соответствовало...
Выключил комп и включил вечером - отстали на 5 минут.
Во как! Отстают когда комп выключен....

RSS-материал