На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! правила раздела Алгоритмы
1. Помните, что название темы должно хоть как-то отражать ее содержимое (не создавайте темы с заголовком ПОМОГИТЕ, HELP и т.д.). Злоупотребление заглавными буквами в заголовках тем ЗАПРЕЩЕНО.
2. При создании темы постарайтесь, как можно более точно описать проблему, а не ограничиваться общими понятиями и определениями.
3. Приводимые фрагменты исходного кода старайтесь выделять тегами code.../code
4. Помните, чем подробнее Вы опишете свою проблему, тем быстрее получите вразумительный совет
5. Запрещено поднимать неактуальные темы (ПРИМЕР: запрещено отвечать на вопрос из серии "срочно надо", заданный в 2003 году)
6. И не забывайте о кнопочках TRANSLIT и РУССКАЯ КЛАВИАТУРА, если не можете писать в русской раскладке :)
Модераторы: Akina, shadeofgray
  
> Математика вещества (во завернул!)
    [center]Пожалуйста, прочтите всё до конца, т.к. это очень важно для меня.[/center]
    Дано:
     1. Вещество S, состоящее из нескольких разных по размеру элементов (для простоты возьмём три типа: A, B, C с условными размерами sA, sB, sC (но эти значения нам не понадобятся)), причём доля элементов каждого типа различна по массе (mA, mB, mC) :). Для ясности ещё раз поясню, что вещество S состоит из нескольких элементов типа A, суммарная масса которых равна mA, нескольких элементов типа B и типа C. Проблема заключается ещё и в том, что элементы имеют произвольную форму со средними размерами ~ sA, sB, sC, поэтому между крупными элементами может быть пространство, которое, кстати говоря, также может быть частично заполнено веществами более мелких размеров. Следовательно можно говорить лишь об объёме V вещества S, а о доле объёма каждого из элементов (vA, vB, vC) говорить нельзя (соответственно, если в S присутствует n,m,k элементов типов A,B,C, то из-за пустот V > Сумма_по_m(vAi)+Сумма_по_n(vBi)+Сумма_по_k(vCi)) :).
     2. Несколько экспериментальных значений объёмов V вещества S в зависимости от mA, mB и mC, причём попарно соединяемых, т.е. V(mA=0, mB=100), V(mA=50, mB=100), V(mA=100, mB=100), V(mA=100, mB=50), V(mA=100, mB=0), аналогично (почти) для пар A,C и B,C. Почти аналогично потому, что для пары A,C или B,C может быть дано, скажем, не 5, а 6 значений объёмов (например, ещё V(mA=100, mC=200)).
     Надеюсь, я объяснил всё понятно :). На самом деле элементов куда больше, чем три (около 7) и значений D для разных пар больше, чем 5 (~ от 7 до 11), поэтому некоторых сочетаний элементов даже может и не быть вообще (для нашего примера, скажем, A и C) :). Хочу ещё также заметить, что если по имеющимся значениям V(mA, mB) построить график (по X будем откладывать mA=0, mB=100; mA=50, mB=100; mA=100, mb=100; mA=100, mB=50; mA=100, mB=0; а по Y значение V), то получится нечто похожее на треугольную крышу, неровную конечно, и он может иметь даже два экстремума! Т.е. примерно это выглядит так (здесь 2 графика):
    ExpandedWrap disabled
                         .                            •<br>                •   .                      • .   '<br>              .       '                  .         .<br>            '           •              •             .<br>          •               .          '                 •

    Найти:
     Эмпирическую формулу для вычисления V(mA, mB, mC), либо D(mA, mB, mC), где D - плотность (т.е. D=V(mA,mB,mC)/(mA+mB+mC)), хотя суть одна и та же :)

    Решение:
     А вот тут и возникают проблемы user posted image.
     Подскажите, пожлуйста, хотя бы в каком направлении мне идти :-/
     Желательно (но пока необязательно) учесть то, что в будущем нужно будет находить mA, mB и mC в зависимости от заданного значения D (вот только как я пока вообще не представляю) user posted image
    P.S. Если нужно, могу привести пару графиков V-m в виде нормальных рисунков, а также графики D-m :)

    - Спасибо за внимание! user posted image
      Цитата Jin-X, 07.03.03, 11:32:30

      V > Сумма_по_m(vAi)+Сумма_по_n(vBi)+Сумма_по_k(vCi)

      Да-а-а, загадал задачку... Это целая диссертация, причем докторская. Есть такая наука, называется "кристаллография" греби в ту сторону.

      Сразу же можно получить только ограничение снизу Vmin и сверху Vmax

      Vmin < V < Vmax

      Vmax = Max[vA,vB,vC]*(m+n+k)

      P.S.
      Надеюсь предметы A,B,C - имеют сферическую форму?
        Я бы предложил такой подход.
        Пишешь формулу типа
        V = K1_0*mA + K2_0*mB + K3_0*mC
        Придаешь коэффициентам K1_0 .. K3_0 значения исходя из известной плотности
        веществ A, B и C. Это нулевое приближение.
        Далее производится оптимизация K1_0 .. K3_0 по минимуму суммы квадратов невязки
        со всем массивом экспериментальных данных.
        Формула усложняется.
        V = K1_0*mA + K2_0*mB + K3_0*mC +
               K1_1*mA*mB + K2_1*mA*mC + K3_1*mB*mC
        Начальные значения K1_0 .. K3_0 сохраняются равными полученным
        на предыдущем этапе, а K1_1 .. K3_1 приравниваются сначала к нулю.
        Повторяется оптимизационная процедура относительно K1_0 .. K3_0 и K1_1 .. K3_1.
        Если точности не хватает, формула еще усложняется (как нибудь).
        Оптимизационная процедура повторяется.
        И т.д.

        Ну а еще можно наверное обучать нейросеть...
           Решение вроде бы созрело, но чтобы быть уверенным, хотелось бы посмотреть на графики, а еще лучше на таблицу с результатами экспериментальных значений. Шли на мыло. 8)
            извините, что не потеме  :)

            2Джин Икс

            а нафига это нужно ???
              Цитата Crait, 07.03.03, 19:13:03
              Я бы предложил такой подход.
              Пишешь формулу типа
              V = K1_0*mA + K2_0*mB + K3_0*mC
              Придаешь коэффициентам K1_0 .. K3_0 значения исходя из известной плотности
              веществ A, B и C. Это нулевое приближение.
              Далее производится оптимизация K1_0 .. K3_0 по минимуму суммы квадратов невязки
              со всем массивом экспериментальных данных.
              Формула усложняется.
              V = K1_0*mA + K2_0*mB + K3_0*mC +
                     K1_1*mA*mB + K2_1*mA*mC + K3_1*mB*mC
              Начальные значения K1_0 .. K3_0 сохраняются равными полученным
              на предыдущем этапе, а K1_1 .. K3_1 приравниваются сначала к нулю.
              Повторяется оптимизационная процедура относительно K1_0 .. K3_0 и K1_1 .. K3_1.
              Если точности не хватает, формула еще усложняется (как нибудь).
              Оптимизационная процедура повторяется.
              И т.д.

              Ну а еще можно наверное обучать нейросеть...


              Человек дело говорит.
              Но только это годится когда все предметы имеют примерно одинаковые размеры. Иначе представь, что Va и Vb - большие, а Vc - маленький. Тогда до тех пор пока количество предметов Vc  не очень большое - все они убираются в пустотах между Va и Vb, таким образом Vc - вклада не дает вообще. С другой стороны, если количество одних предметов (Vc) очень велико по сравнению с другими, то объем V должен расти пропорционально размеру доминирующего объема V = const*Vc + ..., т.е. не должно быть нелинейных членов типа Vc^2, Vc^3...

              Короче, формула разложения должна быть такой:
              1) Сначала надой перейти к другим переменным
               Wa = Va - V0;
               Wb = Vb - V0;
               Wc = Vc - V0;
              где  V0 - усредненный объем одного предмета.

              2) Если W[i] - достаточно малы, то будет справедлива формула

              V = Const*V0 + Sum[ C0[i]*W[i] ] +  Sum[ C1[i,j]*W[i]*W[j] ] +  Sum[ C2[i,j,k]*W[i]*W[j]*W[k]] + ...


              Правда структурные изменения (алмаз <--> графит <-->  фуллерен) такой формулой не опишешь, так что это задачка для диссертации...


              Сообщение отредактировано: S.Yu.Gubanov -
                Ну... не докторская и даже не кандидатская, а всего лишь магистерская... причём только её часть (другая часть - обратное действие, там похлеще) :)

                Опыты проводились на щебне и песке, а точнее на фракциях >20, >10, >5, >2.5 (щебень) и >0.3, >0.14, <0.14 (песок) - фактически >20 означает 20..40, >10 - 10..20. Т.е, как видите, разброс большой и форма может быть любая :-/

                Результаты могу привести здесь (вообще, результаты с погрешностями, но их мы принимать в счёт не будем). Кстати, песок смешивается только с песком, щебень - только со щебнем :). Вот две таблицы (хватит для общей картины?):
                 >20  >10         >0.3  >0.14
                ---------------   -----------------
                гр.  гр.  мл.     гр.   гр.   мл.
                500    0  430     200     0   142
                500  100  490     200    50   166
                500  200  550     200   100   204
                500  300  600     200   150   236
                500  400  705     200   200   269
                500  500  790     150   200   232
                500  750  950     100   200   200
                250  500  590      50   200   170
                  0  500  420       0   200   132


                Функция должна зависеть от доли КАЖДОЙ фракции!!!
                Графики пришлю как нарисую (если найдётся хостинг, иначе кину на мыло).

                Я подумаю по поводу предложений Crait и S.Yu.Gubanov, спасибо (с первого прочтения пока не понял, но если что - спрошу ;))!

                kardinal, что за мысль?

                [center][glow=Red,2,300]Ещё есть идеи? :)[/glow][/center]
                Сообщение отредактировано: 7in -
                  Цитата Jin X, 12.03.03, 17:26:53

                  Я подумаю по поводу предложений Crait и S.Yu.Gubanov, спасибо (с первого прочтения пока не понял, но если что - спрошу ;))!

                  Ты читай у Crait, у меня в предыдущем постинге ерунда, я опять все перепутал, стал вместо массовой доли Mi {песка или щебня} писать формулу, в которую входят объемы Vi одной песчинки или щебенышка... Кстати, формула Crait для твоих данных идеально подходит - у тебя как раз линейная функция с небольшой квадратичной поправкой.
                  Сообщение отредактировано: S.Yu.Gubanov -
                     Женя, необходимы данные песок/щебень для наглядности картины,а то народ непонимает, что функция представляет из себя ломаную линию с одним перегибом в точке Vo+0.4*Vo (это я прикинул теоретически и приближенно, но для щебня совпало: Vo=430ml и точка перегиба при V=430+0.4*430=602ml, что соответствует таблице). А для песка функции действительно почти линейные, поскольку производная в точке перегиба меняется слабо, в соотношении 71/66. Это тяжело ущучить при большой погрешности!!!
                     Поэтому для уяснения картины, необходимо и достаточно:
                     - данные по смешиванию крупнодисперсных частиц с мелкодисп.;
                     - и если есть возможность - набрать статистику!!!( а то 85+-25 это 85+-лапоть).

                                                                                kardinal
                    0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                    0 пользователей:


                    Рейтинг@Mail.ru
                    [ Script execution time: 0,0416 ]   [ 15 queries used ]   [ Generated: 21.05.24, 07:02 GMT ]