Budżet: 999 UAH Termin: 128 dni
Комментарий
oбязательное поле
Есть входная величина N, она обозначает уровень жидкости.
Которая может быть в диапазоне 0…Nmax, где Nmax известное нам число.
Допустим, 4000.
Есть выходная величина V, обозначающая объем жидкости.
Она может быть в диапазоне 0…. Vmax (объем емкости).
Объем емкости нам известен, допустим 400 литров.
Ввиду геометрически неправильной формы емкости зависимость V=f(N) не является линейной.
Требуется описать функцию (можно в виде набора отрезков) при условии что
Известен набор чисел – приращений dN и соответствующих им приращений dV.
При этом абсолютные значения V неизвестны. Известны только N, dN, dV и Vmax.
на одном и том же интервале N1....N2....N3....N4 могут быть несколько приращений Vmax, пересекающих рассматриваемые границы, например приращение V1 получено на приращении N1->N3, а V2- на приращении N2->N4.
Возможен и вариант что приращение V1 получено на приращении N2->N3, а V2- на приращении N1->N4.
придется искать компромиссные варианты аппроксимации.
Вычисляются f(Ni) по известным приращениям V и N. Значения V вычисляются по
любой квадратурной формуле прямоугольников, трапеций и т.п. Vk=интеграл от 0 до Nk, значения подинтегральной функции f(N) в узлах уже известны.
могут быть "неудачные" пары V-N, их придется игнорировать либо корректировать. Чистой математикой, наверное, не обойтись.
Известные пары : N=1, V=0 ; N=1018, V=370
И данные по приращениям:
N1 N2 dV 158 546 131 154 732 191 310 787 147 140 728 196 98 660 192
где N1, N2 - абсолютные значения (известные) - приращение уровня жидкости
а dV - изменение объема. Начальный и конечный объем неизвестен.
Если я правильно понимаю Вашу таблицу, то:
а) в свободный столбец занесите среднегеометрические значения N1 и N2 это
0,5*sqrt(N1*N2)
б) постройте график dV от среднегеометрического
в) получите линию тренда (линейную)
г) у меня получилось dV=-0,0001*ср.геом.+0,3698
д) Вам это нужно?
во-первых мне надо иметь функцию (либо табличную зависимость) V =F (N)
а не dV.
во вторых если считать по исходным данным, то как видите интервалы N..N2 перекрываются и для одного значения N будет существовать сразу несколько вариантов тренда. Надо выбирать подходящий.
Сделал с помощью Excel поиск решения. Целевая функция = минимизация квадратного отклонения разности объёмов
таких точек перелома как на графике быть не должно.
Вот реальный график зависимости V=F(N)
Исходные данные будут вводиться в веб-форму на сайте, а рассчитанная таблица ( в виде пар (N;V) будет отправляться на указанный в форме емейл. это и есть задача проекта.
Вероятно, я дал слишком мало точек для того, чтобы получить такой график как на рисунке выше. График получится хуже.
Простите за опечатку, аппроксимация должна выглядеть так
dV/dN=-0,0001*ср.геом.+0,3701
Ждите.
как уточняющие варианты - может подойти. Когда мы подбираем из нескольких сплайнов нужный - знание цилиндрическая емкость либо прямоугольная - может пригодиться и принять участие в алгоритме. Но это частный случай. А главное, что реальные емкости имеют несовершенную форму, которую невозможно описать формулой, именно для этого мне и требуется данная программа.
Так, це окремий випадок! І ці самі окремі випадки (моделі) допоможуть вирішити задачу. Тобто другим кроком буде побудова функціїї на одному наборі данних. Третім - уточнення функціїї у випадку надходження наступного набору данних і порівняння з моделлю. В ідеалі, коли кількість наборів збільшується - отримуємо краще наближення до моделі. Ну і останній крок - перевірка алгоритму на інших моделях
если бы емкость описывалась формулой, я бы не обращался на фриланс :)
Можно описать так. есть готовый набор моделей емкостей и их характеристик. описанных таблично (N-V). По каждой из них выбираем случайным образом 8 точек N и для каждой случайное приращение dN ( но N+dN < Nmax). Интерполяцией определяем получаемое dV (использовать в расчетах V нельзя, мы его якобы не знаем). Потом пробуем решить обратную задачу - на основе dV и точек N воссоздать исходную таблицу. После этого попробуем поставить задачу так: Ордината каждой из точек полученной кривой в диапазоне 0..N должна отличаться от исходной кривой не более чем на 3%.
V N
370 1018
333 902,0488518 0,000407554
296 788,1518026 0,000426014
259 676,2037169 0,000234411
222 566,10891 -4,43614E-05
185 457,7811202 -5,16695E-05
148 351,1404824 -0,000404797
111 246,1173973 -0,000810097
74 142,6616896 8,24519E-07
37 40,78829566 4,4642E-07
В данном случае выбрано dV=37
Расчет V=f(N) ведется сверху вниз. Предыдущее значение N1 и V1
известны, N2 (902,04..) подбирается из условия
37-(-0,0001*0,5*sqrt(N1*N2)+0,3701)*(N1-N2)=0
Итого: V=0,3408*N+26,6
не понял, у вас вышла линейная характетистика? Это неправильно. Т.е. в частном случае она может быть линейной, но как правило нелинейна. Я бы понял, если бы в результате получился набор линейных функций для разных интервалов.
А что тут понимать? Проводите прямую линию, которую я указал, на вашем реальном графике (который, кстати, "почти" линейный). Если есть совпадение, хорошо.
Если нет, то необходимо иметь приличный набор данных.
ну на приведенном примере ваша методика сработает, правда с приличной ошибкой. а вот на тех емкостях что я привел выше - прямой быть не может, мне надо общее решение а не частное. Искать решение в виде прямой не годится.
Dzień dobry. Szukam dla siebie mentora w zakresie Linuxa. Mam doświadczenie jako mocny junior devops specjalista, ale Linux i Kubernetes to moje słabe punkty. Jeśli chodzi o Kubernetes, mam jeszcze niewielkie doświadczenie w projektach, natomiast z Linuxem mam bardzo powierzchowną interakcję. Coś stworzyć, dodać, zmienić nazwę, otworzyć itp. - to zdecydowanie za mało. Potrzebuję mentora, który pomoże mi w tej kwestii. Głównym celem jest, aby wiedza osiadła w głowie, może jakiś projekt poboczny, zadania, taski w tym stylu, a nie tylko "powtarzaj za mną". Uczyłem się samodzielnie, ale to szczególnie "nie osiada" w głowie. Oto przybliżona lista, co, moim zdaniem, jest mi potrzebne: - Systemy Linux/Unix — zaawansowane administrowanie systemami operacyjnymi, systemy plików, zarządzanie użytkownikami i uprawnieniami dostępu, procesami i usługami (systemd), skrypty Bash, logowanie, monitorowanie, konfiguracja bezpieczeństwa, automatyzacja zadań administracyjnych; - Technologie sieciowe — model OSI i stos TCP/IP, DNS, HTTP/HTTPS, SSL/TLS, SSH, VPN, równoważenie obciążenia, serwery proxy, NAT, routowanie, narzędzia sieciowe (ping, traceroute, netstat, ss, tcpdump, curl), diagnozowanie i rozwiązywanie problemów sieciowych; Jeśli do tej listy można jeszcze dodać Kubernetes, to będzie to mile widziane. Może coś od siebie zaproponujesz. Format zajęć, jak to widzę - 2 razy w tygodniu, spotkania, dyskusje, konsultacje. Bardziej szczegółowo, tutaj już wasze pomysły i propozycje. Co do ceny za godzinę lub za miesiąc - proponujcie
Opracowanie aplikacji Power App, wsparcie mnie jako nowicjusza. Canvas App, pomoc w opracowaniu ekranu Pomoc w opracowaniu struktury danych dla aplikacji Programowanie funkcji Pomoc w tworzeniu tabel Date-verse