• Как найти вероятность перехода в состояние (квантовая теория)?

    @choupa
    Архитектор (обычный, который строит)
    В цифрах в конце поста я не смог разобраться, где там матрицу вы пытались написать, где чо. Скажу однако, что собственные значения оператора Y не +1 и -1, а +i и -i. В этом легко убедиться подставив указанные у вас собственные векторы (они-то указаны правильно).

    Для состояния, указанного в (2), значение наблюдаемой М = 0.
    Ответ написан
  • Открытие блока при наведении на кнопку?

    @choupa
    Архитектор (обычный, который строит)
    $("*:not(.show_catalog, #subcatalog)").on('mouseover' {
        $("#subcatalog").removeClass("hovered");
      } )


    Конструкция $(document).on('mouseover' ... это вообще какая-то ерунда. Её быть не должно. Наверное подразумевалось $("*").on('mouseover' .... В таком случае дальше лучше не проверять e.target, а сразу же в селекторах это сделать, как собственно я показал выше.
    Ответ написан
  • Как посчитать вероятность того, что конкретная подстрока встретится во всей строке только 1 раз?

    @choupa
    Архитектор (обычный, который строит)
    Могу рассмотреть только случай когда ВСЕ буквы в подстроке различны. Это означает, что подстроки гарантированно не перекрываются. Т.е. невозможен случай слова "РАКОКОКШЫ" и подстроки "КОК"

    Пусть Pw(x) = p1*p2*p3*p4*p5*...*pM — вероятность, что с позиции номер x начинается подстрока длины M, где pi — вероятность каждой конкретной буквы в подстроке (на своём месте). Все Pw(x) равны от x = 1 до x = N-M+1 (для больших x подстрока просто не уместится до конца слова по длине). Однако условная вероятность Pw(y) = 0, если подстрока действительно начинается в позиции x, и при этом позиция y отстоит от x менее чем на M (подстроки не перекрываются).

    Пусть ^Pw(x) = (1 - Pw(x)) — вероятность НЕ встреть подстроку, начинающуюся с позиции x.

    Тогда вероятность, что подстрока начинается в позиции 1 и больше нигде не встречается:
    Pw(1) * [ ^Pw(M+1) * ^Pw(M+2) * ... ^Pw(N-M+1) ]= Pw * (N-2M+2) * ^Pw

    для 2-й позиции:
    ^Pw(1) * Pw(2) * [ (N-2M+1) * ^Pw ], что то же самое, что и для первой позиции, просто множитель ^Pw перекочевал из скобок [ ] вперёд.

    аналогично для i-ой позиции:
    ^Pw * (i-1) * [ Pw(i) * (N-2M+3-i) * ^Pw ] = Pw * ^Pw * (N-2M+2)

    Теперь просуммируем эту вероятность для всех позиций от 1 до N-M+1

    P = Pw*^Pw*(N-2M+2)*(N-M+1),

    но для случая N < 2M всё ещё проще (дважды подстрока в слове просто не поместится при всём желании):

    P = Pw*(N-M+1)

    Если же подстроки могут перекрываться, то там возникают сложные условные вероятности (корреляции) и вообще мутота начинается.
    Ответ написан
  • Почему в двухщелевом опыте нельзя засекать время пролета частицы?

    @choupa
    Архитектор (обычный, который строит)
    Соотношение неопределённостей ΔVΔx ~ ℏ. Т.е. нельзя знать скорость точно, а это в свою очередь приводит к тому, что время, о котором вы говорите, имеет разброс. И если всё аккуратно посчитать, то окажется, что эта самая неопределённость времени окажется такой, что она не даст определить, через какую щель пролетел электрон. Если же вы исхитритесь добиться высокой точности измерения времени, достаточной для определения щели, то вы тем самым убьёте интерференцию.
    Ответ написан
  • Как заставить элементы дивгаться статично?

    @choupa
    Архитектор (обычный, который строит)
    Для начала вы ответьте себе на вопрос: как, по каким траекториям должны двигаться круги когда курсор стоит. Обратите внимание, что сейчас движения ограничены, т.е. круги движутся по прямой, на курсор или от курсора, и довольно быстро останавливаются. То же происходит и при первоначальной загрузке.

    Как по вашему будут двигаться круги, когда их движение не ограничено во времени? Они разлетятся к чертям или как? Очевидно, что вы не хотите, чтобы они все разлетелись. Стало быть, должны (откуда-то) генериться новые круги (что данным алгоритмом совсем не предусмотрено), или же движение существующих должно быть циклическим.

    Это всё я говорю к тому, что данный алгоритм, который вы где-то надыбали, не годится для ваших целей. Как минимум, он должен быть существенно переработан. Настолько, что фактически это будет новый алгоритм! И вообще прежде чем делать, вы должны были такие вопросы сами себе задать, понаблюдав за поведение существующего алгоритма.
    Ответ написан
  • Почему preg_match_all не срабатывает?

    @choupa
    Архитектор (обычный, который строит)
    1. Добавьте \s* где только может быть или пробел, или перевод строки.

    2. Вообще лучше использовать для ограничения регулярного выражения слэши /, это более распространённый синтаксис. Однако при этом не забывайте экранировать слэши в самом выражении: \/

    /<h2>Объявления в разделе Ноутбуки, нетбуки<\/h2>\s*<div class="classifieds">\s*<ul>\s*(.*)\s*<\/ul>\s*<\/div>/im
    Ответ написан
  • Как заменить внутри строки с помощью regexp?

    @choupa
    Архитектор (обычный, который строит)
    Проверяем здесь:
    https://regex101.com/r/7MzABW/1

    Пишем JS:
    yourString.replace( /(numberPinyin":\s*".*)(v)(.*)"/g, '$1ü$3' )
    Ответ написан
  • Правильно ли я составил структуру бд по заданию?

    @choupa
    Архитектор (обычный, который строит)
    Я бы рассматривал в качестве основой единицы бронирования не квартиру, а кровати.

    SLOTS — принадлежность кровати квартире
    slot_id | apartment_id | ( price и прочее свойства кровати... )


    RESERVATIONS — резервирование слотов — ссылка на бронирование. В одном бронировании может быть несколько слотов (кроватей), тогда будет несколько строчек на одно бронирование (с одинаковым booking_id)
    slot_id | booking_id

    BOOKINGS — бронирования
    booking_id | user_id | start_date | end_date | ( discount  и прочее, что хотите... )
    Количество гостей хранить избыточно, т.к. число строк в RESERVATIONS с данным booking_id и будет числом гостей.

    Ну и дальше всякое информационное наполнение по пользователям и квартирам:
    USERS
    user_id | name | email | ...
    APARTMENTS
    apartment_id | address | ...
    Общее количество слотов в квартире, опять-таки, хранить не надо, т.к. оно определяется количеством строк в таблице SLOTS для данной apartment_id.

    Чтобы определить количество забронированных слотов на любую дату $checking_date в квартире $apartment_id надо осуществлять довольно сложный запрос:

    SELECT COUNT( slot_id ) FROM SLOTS WHERE
        apartment_id = $apartment_id AND
        slot_id IN ( 
             SELECT slot_id FROM RESERVATIONS WHERE
                 booking_id IN (
                       SELECT booking_id FROM BOOKINGS WHERE
                             start_date <= $checking_date AND end_date > $checking_date
                        )
              )


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

    OCCUPIED
    date | apartment_id | n_occupied | n_available
    Ответ написан
  • Как называется такой дизайн? Как научиться правильно верстать такие макеты?

    @choupa
    Архитектор (обычный, который строит)
    Макет на картинке прост до безобразия. Тут вообще всё линейно, нет никаких кривых линий. Тупо режется на блоки и укладывается хоть в grid, хоть во flex, хоть по старинке в table.
    Ответ написан
  • Возможно ли использовать синтаксис шаблонов Vue.js как препроцессор для верстки по типу pug?

    @choupa
    Архитектор (обычный, который строит)
    Нет ничего проще. Делаешь шаблон (страничку) на Vue. Открываешь её в браузере, заходишь в отладчик и копируешь готовый откомпилированный HTML.
    Ответ написан
  • Как суммировать вероятности события?

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

    UPD: Вообще, мне кажется, подход порочным. Понятно, что на ставки игрока влияет поведение и других игроков, а также что открывается на флопе и т.д., а это у вас никак не фигурирует. И что такое сильная или слабая рука, по сравнению с чем. Т.е. задача изначально очень многопараметрическая, и не учёт многих факторов ведёт к построению неправильной статистической гипотезы.
    Ответ написан
  • Как взять данные между тегами и записать в файл?

    @choupa
    Архитектор (обычный, который строит)
    input = "<login>Nick</login>";
    output = input.replace( /<login>(.*)<\/login>/, 'username=$1');   // output = 'username=Nick'
    Ответ написан
  • Почему высота ячейки отличается от заданной?

    @choupa
    Архитектор (обычный, который строит)
    <a class = "like-button" href = "">Подробнее</a>
    
    <style>
      .like-button  {
        color: white;
        font-size: 17px;
        font-family: arial;
        text-decoration: none;
        background: #0083C2;
        padding: 16px 32px;
        border: none;
        border-radius: 7px;
      };
    </style>

    Так, как вы делаете, никто не делает лет 20! Изучите современную вёрстку и CSS.

    Поведение таблиц плохо предсказуемо. Как они там определяют ширину ячеек, когда намешаны пикселы, проценты, auto — для меня загадка (ниасилил). Думаю, что в вашем случае разница высот ячеек из-за того, что почтарь добавляет в пустые ячейки пробел. А пробел — это уже шрифт определённой высоты, поэтому ячейка и раздвигается по высоте, чтобы он поместился. Чтобы проверить мою гипотезу, можно пустым ячейкам задать какой-нибудь очень маленький размер шрифта (или наоборот очень большой), и посмотреть, что будет.

    Но, опять-таки, это только спортивный интерес, и, повторюсь, так делать не надо.

    P.S. offtop: Кто-то в наше время ещё пользуется Outlook?
    Ответ написан
  • Как получить элемент DOM одного компонента из другого во VUE.JS?

    @choupa
    Архитектор (обычный, который строит)
    Надо придерживаться архитектуры Vue: в компонент — данные, из компонента — события. Я вижу это так, компонент-менюшка получает от родителя массивом список ID всех элементов страницы, по которым нужна навигация. При выборе (в меню) какого-то элемента, компонент-менюшка отправляет "наверх" событие с ID выбранного элемента.

    На это событие может подписаться родитель менюшки и осуществлять по нему нужный скрол. Либо на него могут подписаться сами элементы, и в случае если событие касается их, то делать, что им там надо в такой ситуации.
    Ответ написан
  • Как интегрировать по частям не имея аналитической первообразной?

    @choupa
    Архитектор (обычный, который строит)
    Ну а что там насчёт производной dF/dx, может там попроще получится? Может быть, будет лучше взять интеграл по частям "в другую сторону". В дифференциалах:

    xFdx = (просто показываю скобками) = F(xdx) = (по частям) = x^2/2 *dF - d( Fx^2/2 ).
    Ответ написан
  • Что произойдёт в setInterval-вызовами, если они были запущены внутри объекта, который был убит?

    @choupa Автор вопроса
    Архитектор (обычный, который строит)
    Осознал ошибочность затеи, т.к. всё равно в асинхронную функцию не могу передать контекст объекта, а именно ради этого я и хотел запускать setInterval из конструктора. Буду запускать setInterval не изнутри объекта, а в глобальном контексте, вынеся нужные свойства из объекта в глобальные.
    Ответ написан
  • Что это и как это решить?

    @choupa
    Архитектор (обычный, который строит)
    Делаем замену функции t = y/x, а также переменной на z = -2x, поколдовав, получаем

    zt'' + (2-z)t' - t/2 = -3/2 (где дифференцирование подразумевается по z)

    Мы привели уравнение к каноническому виду для вырожденного гипергеометрического уравнения. Благодаря правой части оно неоднородно. Но как вы помните, общее решение линейного неоднородного уравнения есть сумма общего решения однородного уравнения и частного решения неоднородного уравнения.

    Общее решение однородного вырожденного гипергеометрического уравнения смотрите например здесь https://dic.academic.ru/dic.nsf/enc_mathematics/92.... Разумеется оно даётся через соответствующие специальные функции Ф(...).

    Далее надо найти частное решение неоднородного уравнения. Оно подбирается очевидным образом t(z) = 3.

    Собираем всё вместе, получаем окончательное решение:
    y(x) = C1 * x * Ф( 1/2, 2; -2x ) + C2 * Ф( -1/2, 0; -2x ) + 3x

    Подставляйте начальные условия и находите константы интегрирования C1 и C2 уже сами.
    Ответ написан
  • Как найти ссылку в тексте с якорем (#anchor)?

    @choupa
    Архитектор (обычный, который строит)
    public function replaceLink(){
            $text = 'Здесь ссылка должна быть в теге <a> https://example.ru/ru/task#348141 конец текста' //Ссылка для примера
    
            $reg_exUrl = "/(http|https|ftp|ftps)(\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3})(\/[^#]*)(#(\S*))*/";
            $pos = strpos($text, '<a href');
            if(preg_match($reg_exUrl, $text, $url) && $pos === false) {
    
                $text = preg_replace($reg_exUrl, "<a href='".$url[1].$url[2].$url[3]"' target='".$url[5]."'>$url[0]</a>", $text);
            }
            return Response()->json($text, 200);
        }
    Ответ написан
  • Здравствуйте кто знает почему слайдер забирает всю ширину и длину страницы хотя он находится внутри контейнера грид,и вся сетка получаетсяпод ним?

    @choupa
    Архитектор (обычный, который строит)
    У вас нет HTML-кода, чтобы понять разметку. Хрустальный шар подсказывает мне, что слайдер у вас живёт в .untitled. Но у вас для .untitled указано position: fixed и при этом у него нет grid-area. Вот поэтому и не работает.

    (Как-то не хорошо вываливать нам несколько экранов CSS, не относящихся к вопросу. Уважайте людей, который вынуждены в этом всём разбираться).
    Ответ написан
  • Как в POST форме правильно передать данные, если использую внешний диалог подтверждения?

    @choupa
    Архитектор (обычный, который строит)
    Но я бы всё-таки ajax использовал. Отправляю запрос на удаление по адресу url, и если всё удачно, то удаляю кнопку ту, которую нажали.

    ...
    if  (willDelete ) {
    	var xhr = new XMLHttpRequest ();
    	xhr.open( 'POST', url );   //  url — адрес обработчика
    	xhr.send( event.target.value );     //  Отправка асинхронного запроса с id
    	
    	//  Ожидание ответа
    	xhr.onreadystatechange = function()	{
    		if ( this.readyState == 4 )     //  Если ответ ОК, то 
    			event.target.remove();   //  удаляем кнопку со страницы
    		else
             ...   // Здесь действия, если на сервере что-то не удалось, сообщение или что-то ещё
    	}
    }

    _____
    UPD: Затупил, не увидел, что у вас jQuery. Тогда можно ещё короче написать, чем на ваниле, особенно, если не проверять ответ сервера :) :

    <button value="1">Удалить файл id=1</button>
    <button value="2">Удалить файл id=2</button>
    <button value="3">Удалить файл id=3</button>
    
    <script>
    $( 'button' ).click( () => {
    	var but = $( this );
    	swal( {
    		title      : "Вы уверены?",
    		text       : "Удалить этот файл из комплекта документов?",
    		icon       : "warning",
    		buttons    : [ 'Отмена', 'Удалить' ],
    		dangerMode : true,
    		} )
    	.then( ( willDelete ) => {
    		if ( willDelete )	{
    			$.post( url, but.val() );
    			but.remove();
    		}
    	} )
    } )
    </script>
    Ответ написан