Математический форум Math Help Planet
Обсуждение и решение задач по математике, физике, химии, экономике Теоретический раздел |
Часовой пояс: UTC + 3 часа [ Летнее время ] |
новый онлайн-сервис число, сумма и дата прописью |
|
Часовой пояс: UTC + 3 часа [ Летнее время ] |
Страница 1 из 1 |
[ Сообщений: 5 ] |
|
Автор | Сообщение | ||
---|---|---|---|
rus21d |
|
||
Есть отрезок который надо разбить на части и есть несколько параметров, с учетом которых производится разбиение. Количество параметров может быть от 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 ]; В примерах получившиеся значения в разбиениях при каких то параметрах я придумал, что бы показать зависимость. |
|||
Вернуться к началу | |||
Avgust |
|
||
Я вроде понял. Рассмотрим последний пример:
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. Ой, стоп! Нужно только повысить наибольшее число, остальные не трогать. После пропорций все числа автоматически верно изменятся. |
|||
Вернуться к началу | |||
За это сообщение пользователю Avgust "Спасибо" сказали: rus21d |
|||
rus21d |
|
||
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] Вот думаю, можно ли составить функцию с учетом этих условий? Или накладывать такие условия и пытаться выводить это бред? Может есть какие-то другие задачи аналогичные или подобные? |
|||
Вернуться к началу | |||
Avgust |
|
||
Рассмотрим 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 ] Тенденция верная. |
|||
Вернуться к началу | |||
За это сообщение пользователю Avgust "Спасибо" сказали: rus21d |
|||
rus21d |
|
||
Avgust
Все понял, то что надо. Спасибо большое, выручил. |
|||
Вернуться к началу | |||
[ Сообщений: 5 ] |
Похожие темы | Автор | Ответы | Просмотры | Последнее сообщение |
---|---|---|---|---|
Деление отрезка на части
в форуме Геометрия |
15 |
584 |
19 сен 2021, 15:59 |
|
Кривая делит круг на части. Найти площадь наибольшей части
в форуме Интегральное исчисление |
4 |
184 |
27 дек 2020, 00:00 |
|
Разбиение на пары | 10 |
1330 |
28 сен 2018, 18:00 |
|
Разбиение без квадратов | 5 |
600 |
03 авг 2017, 15:03 |
|
Разбиение фигуры
в форуме Геометрия |
31 |
885 |
31 авг 2020, 07:56 |
|
Разбиение по подгруппам
в форуме Комбинаторика и Теория вероятностей |
8 |
603 |
18 дек 2020, 17:27 |
|
Разбиение на слагаемые | 2 |
341 |
12 июл 2017, 16:00 |
|
Разбиение на подгруппы
в форуме Комбинаторика и Теория вероятностей |
3 |
265 |
07 мар 2022, 01:24 |
|
Разбиение числа | 0 |
364 |
05 мар 2015, 21:51 |
|
Разбиение на группы и подгруппы | 8 |
1170 |
09 сен 2014, 09:02 |
Часовой пояс: UTC + 3 часа [ Летнее время ] |
Кто сейчас на конференции |
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13 |
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения |