Сборка и испытания IDA-71S1 (этап 1). Проектирование этапа 2

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

Модераторы: трофи, Максим Васильев, 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). Запись упростилась, только и всего
Можно, конечно, прогу переписать и упростить, но результат, по-моему, не поменяется :roll:

Аватара пользователя
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 минуты...Вроде пашет :))) :lol: :lol: :shock: :shock: :shock:

ЕЩЕ! Супер! :) Когда безопасная глубина становится 0 метров - ВСЕ ткани показывают НДЛ = 0! ПАШЕТ КАЖИСЬ! :)

ХА! И вопрос про "Какой НДЛ брать" решился сам собой - тот, который соответствует максимальной глубине безопасной!

Хотя нет, так не пойдет брать НДЛ. Надо думать про то - какой выбирать...
Последний раз редактировалось Lt_Flash 25-10-2005 13:25, всего редактировалось 4 раза.
PADI Advanced Open Water Diver
IANTD EANx Nitrox Diver

Ответить