Дискуссионный математический форумМатематический форум

Математический форум Math Help Planet

Обсуждение и решение задач по математике, физике, химии, экономике

Теоретический раздел
Часовой пояс: UTC + 3 часа [ Летнее время ]
MathHelpPlanet.com RSS-лента Математического форума

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Разбиение отрезка на части
СообщениеДобавлено: 30 дек 2015, 18:29 
Не в сети
Начинающий
Зарегистрирован:
30 дек 2015, 17:46
Сообщений: 3
Cпасибо сказано: 2
Спасибо получено:
0 раз в 0 сообщении
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
Всем привет!

Есть отрезок который надо разбить на части и есть несколько параметров, с учетом которых производится разбиение.
Количество параметров может быть от 1 до бесконечности. Значения параметров лежать в интервале 0 < p <= 1 и их сумма всегда равна 1.
Пример: p = [ 0.2, 0.2, 0.1, 0.5 ]. Имеем 4 числа, все < 1, сумма = 1. Еще примеры: [ 1 ], [ 0.5, 0.5 ], [ 0.33, 0.33, 0.33 ]
Длина отрезка больше 0. Количество частей, на которые разбивается отрезок, равно количеству параметров.
Длина части, зависит от значения параметра.

Пример:
Длина отрезка 100.
p = [ 0.2, 0.2, 0.1, 0.5 ].
В результате получим такое разбиение [ 20, 20, 10, 50].

Еще примеры:
p = [ 1 ]. разбиение [ 100 ]
p = [ 0.5, 0.5 ]. разбиение [ 50, 50 ]
p = [ 0.33, 0.33, 0.33 ]. разбиение [ 33, 33, 33 ];

Такое решение линейно разбивает отрезок на части(Возможно, неправильно выразился, но не знаю как сказать по-другому). Значения параметров накладываются на отрезок и все.

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

Пример:
Длина отрезка 100.
p = [ 0.2, 0.2, 0.1, 0.5 ].
В результате получим такое разбиение [ 15, 15, 0, 70].

Еще примеры:
p = [ 1 ]. разбиение [ 100 ]
p = [ 0.5, 0.5 ]. разбиение [ 50, 50 ]
p = [ 0.33, 0.33, 0.33 ]. разбиение [ 33, 33, 33 ];
p = [ 0.2, 0.3, 0.3, 0.2 ]. разбиение [ 14, 36, 36, 14 ];
p = [ 0.1, 0.3, 0.6 ]. разбиение [ 0, 20, 80 ];
p = [ 0.3, 0.7 ]. разбиение [ 15, 85 ];
p = [ 0.15, 0.85 ]. разбиение [ 5, 95 ];

В примерах получившиеся значения в разбиениях при каких то параметрах я придумал, что бы показать зависимость.

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Разбиение отрезка на части
СообщениеДобавлено: 30 дек 2015, 21:35 
Не в сети
Light & Truth
Аватара пользователя
Зарегистрирован:
03 апр 2012, 19:13
Сообщений: 11069
Откуда: Москва
Cпасибо сказано: 950
Спасибо получено:
3234 раз в 2824 сообщениях
Очков репутации: 629

Добавить очки репутацииУменьшить очки репутации
Я вроде понял. Рассмотрим последний пример:

p = [ 0.15, 0.85 ]. разбиение [ 5, 95 ];

Как это можно получить? Все зависит от коэффициента повышения большого числа и такого же коэффициента понижения малого числа. Пусть этот коэффициент в нашем случае будет

[math]k=\sqrt[3]{\frac {85}{15}}=1.7828[/math]

Повышаем большое число: [math]85 \cdot k=85 \cdot 1.7828 =151.54[/math]

Понижаем малое число: [math]\frac{15}{k}=\frac{15}{1.7828} =8.414[/math]

Сумма: 151.54 + 8.414=159.954 . Это должно быть 100%

Учитывая последнее, найдем по школьным правилам окончательно:

Первое число: [math]8.414 \cdot \frac{100}{159.954}=5.3[/math]

Второе число: [math]151.54 \cdot \frac{100}{159.954}=94.7[/math]

То есть почти, как Вы хотели бы иметь.

Иными словами, выбираете из всех параметров наибольшее и наименьшие числа, находите k и далее - простые пропорции. Но все зависит как раз от формулы коэффициента k.

Ой, стоп! Нужно только повысить наибольшее число, остальные не трогать. После пропорций все числа автоматически верно изменятся.

Вернуться к началу
 Профиль  
Cпасибо сказано 
За это сообщение пользователю Avgust "Спасибо" сказали:
rus21d
 Заголовок сообщения: Re: Разбиение отрезка на части
СообщениеДобавлено: 30 дек 2015, 23:56 
Не в сети
Начинающий
Зарегистрирован:
30 дек 2015, 17:46
Сообщений: 3
Cпасибо сказано: 2
Спасибо получено:
0 раз в 0 сообщении
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
Avgust
Задумка отличная, спасибо.

Пока не смекнул вот что если p = [0.1, 0.2, 0.7]
Я увеличиваю р = 0.7 по тому методу, то что я наростил свыше 0.7 мне нужно вычесть из двух других параметров. Как произвести это вычитание, пока не пойму.
Если параметров два то просто, если больше, то надо как-то это вычитание тоже распределить.

Если p = [ 0.1, 0.45, 0.45 ], то тут надо наростить два последних параметра и вычесть из первого то что наростили.
Еще не пойму как определить ту грань когда надо вычитать, или она сама определиться.

Хочу сказать, почему я говорил про линейность.
Я свел задачу к такому виду
x - параметр
y - доля части отрезка
y = f(x)

в простейшем варианте получается y = f(x) = x.
x = [ 0.2, 0.4, 0.4 ]
y = [ 0.2, 0.4, 0.4 ]
Чтоб найти части, просто умножаем на длину отрезка.
У этой функции y = x, выполняются мои условия [math]\sum\limits_{0}^{n} x_{i} = 1[/math], [math]\sum\limits_{0}^{n} y_{i} = 1[/math]

Вот думаю, можно ли составить функцию с учетом этих условий?
Или накладывать такие условия и пытаться выводить это бред?
Может есть какие-то другие задачи аналогичные или подобные?

Вернуться к началу
 Профиль  
Cпасибо сказано 
 Заголовок сообщения: Re: Разбиение отрезка на части
СообщениеДобавлено: 31 дек 2015, 01:13 
Не в сети
Light & Truth
Аватара пользователя
Зарегистрирован:
03 апр 2012, 19:13
Сообщений: 11069
Откуда: Москва
Cпасибо сказано: 950
Спасибо получено:
3234 раз в 2824 сообщениях
Очков репутации: 629

Добавить очки репутацииУменьшить очки репутации
Рассмотрим p = [ 20, 30, 50 ]

Преобразуем так [math]\frac{20}{\frac{50}{20 }}\, , \,\frac{30}{\frac{50}{30 }}\, , \,\frac{50}{\frac{50}{30 }}[/math]

или проще: [math]\frac{20^2}{50}\, , \,\frac{30^2}{50}\, , \,\frac{50^2}{50}[/math]

Это будет [math]8 \, , \, 18\, , \, 50[/math]

Сумма [math]8+18+50=76[/math] - это 100%.

Тогда: [math]10.53 , 23.68 , 65.79[/math]

Пожалуй, логично. Нужно все варианты так посмотреть.

Таким способом p = [20, 40, 40 ] превратится в 11.11 , 44.44, 44.44

Тоже логично.

Ваше предположение p = [ 0.2, 0.3, 0.3, 0.2 ]. разбиение [ 14, 36, 36, 14 ];

моим методом чуть иное получим: [ 15.38 , 34.62 , 34.62 , 15.38 ]
Тенденция верная.

Вернуться к началу
 Профиль  
Cпасибо сказано 
За это сообщение пользователю Avgust "Спасибо" сказали:
rus21d
 Заголовок сообщения: Re: Разбиение отрезка на части
СообщениеДобавлено: 31 дек 2015, 09:51 
Не в сети
Начинающий
Зарегистрирован:
30 дек 2015, 17:46
Сообщений: 3
Cпасибо сказано: 2
Спасибо получено:
0 раз в 0 сообщении
Очков репутации: 1

Добавить очки репутацииУменьшить очки репутации
Avgust
Все понял, то что надо. Спасибо большое, выручил.

Вернуться к началу
 Профиль  
Cпасибо сказано 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

 Похожие темы   Автор   Ответы   Просмотры   Последнее сообщение 
Разбиение на слагаемые

в форуме Задачи со школьных и студенческих олимпиад

boroda33

2

172

12 июл 2017, 16:00

Разбиение на пары

в форуме Дискретная математика, Теория множеств и Логика

karastia_13

10

122

28 сен 2018, 18:00

Разбиение числа

в форуме Дискретная математика, Теория множеств и Логика

Stasya7

0

211

05 мар 2015, 21:51

Разбиение множеств

в форуме Дискретная математика, Теория множеств и Логика

Vlad001

1

536

21 авг 2012, 19:15

Разбиение без квадратов

в форуме Задачи со школьных и студенческих олимпиад

Xenia1996

5

306

03 авг 2017, 15:03

Эквивалентности на U и разбиение U на классы

в форуме Дискретная математика, Теория множеств и Логика

culka

1

208

11 дек 2014, 21:14

Разбиение множества на классы

в форуме Дискретная математика, Теория множеств и Логика

delisalce

4

1263

11 дек 2013, 19:16

Разбиение на группы и подгруппы

в форуме Математическая статистика и Эконометрика

eugrita

8

579

09 сен 2014, 09:02

Задача про разбиение шахматной доски mXm

в форуме Дискретная математика, Теория множеств и Логика

Nikolay Moskvitin

1

239

23 янв 2015, 10:04

Объясните разбиение цикла на транспозиции

в форуме Дискретная математика, Теория множеств и Логика

LonelyGamer

4

215

06 окт 2015, 03:08


Часовой пояс: UTC + 3 часа [ Летнее время ]



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Яндекс.Метрика

Copyright © 2010-2016 MathHelpPlanet.com. All rights reserved