Обсуждаются вопросы технического дайвинга, многосмесевых и декомпрессионных погружений, погружений в надголовные среды, использование ребризеров, вопросы безопасности и любые другие технически сложные вопросы.
Модераторы: трофи, Максим Васильев, KWAK, DukeSS
-
Lt_Flash
- Активный участник
- Сообщения: 1516
- Зарегистрирован: 14-02-2005 13:24
-
Контактная информация:
#521
Сообщение
Добавлено: 24-10-2005 13:26 Заголовок сообщения:
Так...Выложил результаты...Все равно странно

)) Либо я как-то не так в формулу Ежика подставляю...Либо что-то с формулой не то...Но...
Вот код:
Код: Выделить всё
A:=Power(2,1/ThtA[i]);
B:=1/((Pcmpsafe[i]-Compartment[i])/(Pgas-Compartment[i]))+1;
C:=LogN(A,B);
NDL[i]:=C;
Pcmpsafe рассчитывается при инициализации программы, потому что это константы. Compartment
- текущее Pcomp для заданной ткани...Коэффициент А - это вычисление корня Tht степени из двух...B - вычисление основания логарифма...
PADI Advanced Open Water Diver
IANTD EANx Nitrox Diver
-
Листригон
- Активный участник
- Сообщения: 1002
- Зарегистрирован: 31-08-2005 19:18
- Откуда: Moscow
#522
Сообщение
Добавлено: 24-10-2005 13:47 Заголовок сообщения:
Мда, опять минусы прут, может итерациями попробовать?
-
Lt_Flash
- Активный участник
- Сообщения: 1516
- Зарегистрирован: 14-02-2005 13:24
-
Контактная информация:
#523
Сообщение
Добавлено: 24-10-2005 13:55 Заголовок сообщения:
Да при чем тут итерации? Минус один я убрал из формулы Ежика, он там должен быть при расчете коэффициента Б. Ты посчитай на калькуляторе какое должно быть Те, чтобы получился заданный Pcompsafe!
Вот формула
3.24 = 0.79 + (1.58 - 0.79)*(1-2^(-Te/4)) для первого вида тканей.
Чему тут равен Те? Давай хоть перебором посчитаем! Если нормально получим Те, то значит формула Ежика содержит ошибку!
Пошел считать.
0.79 + (0.79*(1-2^(-Te/4))) = 3.24
0.79*(1-2^(-Te/4)) = 3.24 - 0.79
0.79*(1-2^(-Te/4)) = 2.45
(1-2^(-Te/4)) = 3.101
2^(-Te/4)=2.101
Отсюда как выразить Te?
Вот, точно подобрал - (-Te/4)=1.071 откуда Te = -4.284. Вот этот минус меня и смущает. Плюс надо теперь посчитать по формуле Ежика, а у меня нету калькулятора с логарифмом с произвольным основанием. Можешь посчитать?
PADI Advanced Open Water Diver
IANTD EANx Nitrox Diver
-
Листригон
- Активный участник
- Сообщения: 1002
- Зарегистрирован: 31-08-2005 19:18
- Откуда: Moscow
#524
Сообщение
Добавлено: 24-10-2005 14:23 Заголовок сообщения:
Меня тут отвлекали. Сейчас попробую.
-
Листригон
- Активный участник
- Сообщения: 1002
- Зарегистрирован: 31-08-2005 19:18
- Откуда: Moscow
#525
Сообщение
Добавлено: 24-10-2005 14:45 Заголовок сообщения:
если основание логарифма 1,32, а число 1,18, у меня получается 0,62 проверь правильно подставил в формулу.
поясню:
число это 2 в степени 0,25 (т.е корень четвертой степени)-1,189207115
.
основание 1/((3,24-0,79)/0,79) +1=1,32244898
логарифм 0,620021131
-
Lt_Flash
- Активный участник
- Сообщения: 1516
- Зарегистрирован: 14-02-2005 13:24
-
Контактная информация:
#526
Сообщение
Добавлено: 24-10-2005 14:55 Заголовок сообщения:
Листригон писал(а):если основание логарифма 1,32, а число 1,18, у меня получается 0,62 проверь правильно подставил в формулу.
Погоди, давай мой пример досчитаем! Или ты про него? Распиши как я - как ты подставлял туда...Вместе проверим.
PADI Advanced Open Water Diver
IANTD EANx Nitrox Diver
-
Листригон
- Активный участник
- Сообщения: 1002
- Зарегистрирован: 31-08-2005 19:18
- Откуда: Moscow
#527
Сообщение
Добавлено: 24-10-2005 14:59 Заголовок сообщения:
Да это твой пример, я немного сократил запись в формулах.
A:=Power(2,1/ThtA);- 2 в степени 0,25 -1,18
B:=1/((Pcmpsafe-Compartment)/(Pgas-Compartment))+1; -1,32
C:=LogN(A,B); 062
NDL:=C;
зы: Покидаю офис , давай до вечера отложим.
-
Lt_Flash
- Активный участник
- Сообщения: 1516
- Зарегистрирован: 14-02-2005 13:24
-
Контактная информация:
#528
Сообщение
Добавлено: 24-10-2005 15:17 Заголовок сообщения:
Lt_Flash писал(а):Да при чем тут итерации? Минус один я убрал из формулы Ежика, он там должен быть при расчете коэффициента Б. Ты посчитай на калькуляторе какое должно быть Те, чтобы получился заданный Pcompsafe!
Вот формула
3.24 = 0.79 + (1.58 - 0.79)*(1-2^(-Te/4)) для первого вида тканей.
Чему тут равен Те? Давай хоть перебором посчитаем! Если нормально получим Те, то значит формула Ежика содержит ошибку!
Пошел считать.
0.79 + (0.79*(1-2^(-Te/4))) = 3.24
0.79*(1-2^(-Te/4)) = 3.24 - 0.79
0.79*(1-2^(-Te/4)) = 2.45
(1-2^(-Te/4)) = 3.101
2^(-Te/4)=2.101
Отсюда как выразить Te?
Вот, точно подобрал - (-Te/4)=1.071 откуда Te = -4.284. Вот этот минус меня и смущает. Плюс надо теперь посчитать по формуле Ежика, а у меня нету калькулятора с логарифмом с произвольным основанием. Можешь посчитать?
Вот ЭТО давай разберем. А не то, что щас в программе. Что там - и так видно - пурга полная. Надо взять то число, что у меня получилось (4.284) и пересчитать это же самое для тех же условий через формулу Ежика и посмотреть, что получится. Если все верно - результаты должны совпасть и тогда уже будем думать - какого фига не считается в программе...
PADI Advanced Open Water Diver
IANTD EANx Nitrox Diver
-
Листригон
- Активный участник
- Сообщения: 1002
- Зарегистрирован: 31-08-2005 19:18
- Откуда: Moscow
#529
Сообщение
Добавлено: 24-10-2005 23:25 Заголовок сообщения:
Вот только инет проявился.
Ошибка вот здесь:
(1-2^(-Te/4)) = 3.101
2^(-Te/4)=2.101
получается, то 2^(-Te/4)=-2.101 (минус забыл) , т. е. решение даст комплексное число te, что для нас означает несуществующее. Для первой ткани (в нашем примере) решение для te появляется где-то при глубине больше 32 метров.Скажем при 40 метрах, te будет 8.6 минуты.
-
Lt_Flash
- Активный участник
- Сообщения: 1516
- Зарегистрирован: 14-02-2005 13:24
-
Контактная информация:
#530
Сообщение
Добавлено: 25-10-2005 08:36 Заголовок сообщения:
Листригон писал(а):Вот только инет проявился.
Ошибка вот здесь:
(1-2^(-Te/4)) = 3.101
2^(-Te/4)=2.101
получается, то 2^(-Te/4)=-2.101 (минус забыл) , т. е. решение даст комплексное число te, что для нас означает несуществующее. Для первой ткани (в нашем примере) решение для te появляется где-то при глубине больше 32 метров.Скажем при 40 метрах, te будет 8.6 минуты.
А, ну да, минус 2 в степени...Мда...И как тогда НДЛ считать? Как Суунты и прочие считают для 10 метров?
PADI Advanced Open Water Diver
IANTD EANx Nitrox Diver
-
Листригон
- Активный участник
- Сообщения: 1002
- Зарегистрирован: 31-08-2005 19:18
- Откуда: Moscow
#531
Сообщение
Добавлено: 25-10-2005 08:59 Заголовок сообщения:
По другим тканям-для 10 метров, решение появляется начиная с 8, 9 в зависимости от точности расчета.
-
Lt_Flash
- Активный участник
- Сообщения: 1516
- Зарегистрирован: 14-02-2005 13:24
-
Контактная информация:
#532
Сообщение
Добавлено: 25-10-2005 09:08 Заголовок сообщения:
Листригон писал(а):По другим тканям-для 10 метров, решение появляется начиная с 8, 9 в зависимости от точности расчета.
Хорошо, как тогда нам считать? Вот как раз и вылезает вопрос - по какой из тканей показывать НДЛ? И верна ли формула Ежика?
PADI Advanced Open Water Diver
IANTD EANx Nitrox Diver
-
Листригон
- Активный участник
- Сообщения: 1002
- Зарегистрирован: 31-08-2005 19:18
- Откуда: Moscow
#533
Сообщение
Добавлено: 25-10-2005 10:09 Заголовок сообщения:
Видимо из формулы :
Рcomp=Pbegin+(Pgas-Pbegin)(1-2^-te/Tht);
выразить :
2^-te/Tht=1-(Pcomp-Pbegin)/(Pgas-Pbegin);
и оценивать его на отрицательность, если <=0, то расчет не производить для данного компонента, если >0, то по формуле Ежика( или подбором).
Сейчас проверю ее еще раз
Последний раз редактировалось
Листригон 25-10-2005 10:21, всего редактировалось 1 раз.
-
Листригон
- Активный участник
- Сообщения: 1002
- Зарегистрирован: 31-08-2005 19:18
- Откуда: Moscow
#534
Сообщение
Добавлено: 25-10-2005 10:15 Заголовок сообщения:
У меня вообще-то получилось вот что:
te=Tht*LOG2(1/1-(Pcomp-Pbegin)/(Pgas-Pbegin)); логарифм по основанию 2 имеется ввиду.Проверь.
-
Lt_Flash
- Активный участник
- Сообщения: 1516
- Зарегистрирован: 14-02-2005 13:24
-
Контактная информация:
#535
Сообщение
Добавлено: 25-10-2005 10:29 Заголовок сообщения:
Листригон писал(а):У меня вообще-то получилось вот что:
te=Tht*LOG2(1/1-(Pcomp-Pbegin)/(Pgas-Pbegin)); логарифм по основанию 2 имеется ввиду.Проверь.
Я проверить не могу нифига, потому как не помню как их считать, поэтому и просил посчитать кого-нить... Проверь, если у тебя сойдется - будем ее использовать. Хотя настораживает как ты из степени вытащил - ведь вроде бы должен быть корень?
PADI Advanced Open Water Diver
IANTD EANx Nitrox Diver
-
Листригон
- Активный участник
- Сообщения: 1002
- Зарегистрирован: 31-08-2005 19:18
- Откуда: Moscow
#536
Сообщение
Добавлено: 25-10-2005 10:47 Заголовок сообщения:
Проверил на 40 метрах для 5 ткани получается 16,74 минуты,
для 1 ткани 8,46 минуты вроде похоже.
вывод простой:
2^-te/Tht=1-(Pcomp-Pbegin)/(Pgas-Pbegin); уже была, далее:
убираем (-) по правилам работы со степенями:
2^te/Tht=1/(1-(Pcomp-Pbegin)/(Pgas-Pbegin)); потом
te/Tht=LOG2(1/(1-(Pcomp-Pbegin)/(Pgas-Pbegin))); ну и
te=Tht*LOG2(1/1-(Pcomp-Pbegin)/(Pgas-Pbegin))); [/quote]
-
Lt_Flash
- Активный участник
- Сообщения: 1516
- Зарегистрирован: 14-02-2005 13:24
-
Контактная информация:
#537
Сообщение
Добавлено: 25-10-2005 11:29 Заголовок сообщения:
Ладно, сегодня ближе к вечеру попробую реализовать, раньше занят, а в 1430 уеду и буду вечером.
PADI Advanced Open Water Diver
IANTD EANx Nitrox Diver
-
Lt_Flash
- Активный участник
- Сообщения: 1516
- Зарегистрирован: 14-02-2005 13:24
-
Контактная информация:
#538
Сообщение
Добавлено: 25-10-2005 12:24 Заголовок сообщения:
Кстати, вопрос о том, какой НДЛ брать остается открытым...
PADI Advanced Open Water Diver
IANTD EANx Nitrox Diver
-
E}|{uk
- Новичок
- Сообщения: 10
- Зарегистрирован: 08-12-2004 12:13
- Откуда: Moscow
#539
Сообщение
Добавлено: 25-10-2005 12:28 Заголовок сообщения:
Листригон писал(а):Проверил на 40 метрах для 5 ткани получается 16,74 минуты,
для 1 ткани 8,46 минуты вроде похоже.
вывод простой:
2^-te/Tht=1-(Pcomp-Pbegin)/(Pgas-Pbegin); уже была, далее:
убираем (-) по правилам работы со степенями:
2^te/Tht=1/(1-(Pcomp-Pbegin)/(Pgas-Pbegin)); потом
te/Tht=LOG2(1/(1-(Pcomp-Pbegin)/(Pgas-Pbegin))); ну и
te=Tht*LOG2(1/1-(Pcomp-Pbegin)/(Pgas-Pbegin)));
Ну так получилось-то то же самое! Число в скобках не изменилось ("1" переставили), а
Tht*log по основанию 2 = log по основанию корень степени Tht из 2 ( log по основанию корень степени Tht из 2 = log по основанию 2 в степени 1/tht = tht * log по осн.2). Запись упростилась, только и всего
Можно, конечно, прогу переписать и упростить, но результат, по-моему, не поменяется

-
Lt_Flash
- Активный участник
- Сообщения: 1516
- Зарегистрирован: 14-02-2005 13:24
-
Контактная информация:
#540
Сообщение
Добавлено: 25-10-2005 13:03 Заголовок сообщения:
Листригон писал(а):Проверил на 40 метрах для 5 ткани получается 16,74 минуты,
для 1 ткани 8,46 минуты вроде похоже.
вывод простой:
2^-te/Tht=1-(Pcomp-Pbegin)/(Pgas-Pbegin); уже была, далее:
убираем (-) по правилам работы со степенями:
2^te/Tht=1/(1-(Pcomp-Pbegin)/(Pgas-Pbegin)); потом
te/Tht=LOG2(1/(1-(Pcomp-Pbegin)/(Pgas-Pbegin))); ну и
te=Tht*LOG2(1/1-(Pcomp-Pbegin)/(Pgas-Pbegin)));
А что ты подставлял как Pcomp и Pbegin? Попробовал Pcomp=Pcompsafe
, Pbegin=Pcomp(t-1) получается полная фигня...Либо я как-то криво считаю, но 16 у меня никак не получается там...Для 40 метров у меня вышло 9.9438...Выложил прогу, смотри...
Вот код:
Код: Выделить всё
B:=1/(1-(Pcmpsafe[i]-Compartment[i])/(Pgas-Compartment[i]));
if B>0 then C:=ThtA[i]*LogN(2,(B)) else C:=0;
Хотя....Для 30 метров дает 14.3 минуты на воздухе...Похоже ваще-то...И в 0 обращается именно когда проходит эти 14.3 минуты...Вроде пашет

))
ЕЩЕ! Супер!

Когда безопасная глубина становится 0 метров - ВСЕ ткани показывают НДЛ = 0! ПАШЕТ КАЖИСЬ!
ХА! И вопрос про "Какой НДЛ брать" решился сам собой - тот, который соответствует максимальной глубине безопасной!
Хотя нет, так не пойдет брать НДЛ. Надо думать про то - какой выбирать...
Последний раз редактировалось
Lt_Flash 25-10-2005 13:25, всего редактировалось 4 раза.
PADI Advanced Open Water Diver
IANTD EANx Nitrox Diver