Округление значения переменной

Автор Starik, 20.08.10, 07:56:10

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Starik

20.08.10, 07:56:10 Последнее редактирование: 20.08.10, 08:15:20 от Starik
Здравствуйте уважаемые коллеги.
Сталкнулся с такой задачей:
При работе с переменными можно задать следующие функции:
ceil -  округление до большего целого числа;
floor -  округление до меньшего целого числа;
round -  округление до ближайшего целого числа.
А мне необходимо на просто округлить до какого либо целого, а до целого - кратного 5 или скажем 10мм. Как это сделать? Может кто подскажет?


sulyco

Может действовать через перерасчет: сначала разделить на 5, потом округлить полученное до целого, а потом опять умножить на 5. Полученное будет искомым. Нет?

YNA

Нет, так не получится. Возмите например число 143,14. После такой операции получаем число 140, хотя ближе будет число 145.

sulyco

Почему? При делении получим 28,628, что при округлении до ближайшего целого даст 29, а в результате обратного пересчета 145. Нет?

YNA

Да, всё правильно! У меня было включено не округление а "целое" :shu:

sulyco


Starik

Спасибо всем. :fr:    У меня тоже заработало.

MuZon

Актуально!
Товарищи. взгляните пожалуйста на скрин.
стоит задача оставить переменным (выделенным красными кружками) кратность 5-ти, при том, что переменная (выделенная зеленым кружком) должна оставаться минимальной, для того, что бы сохранилась кратность.
примерно так.
Граждане! помогите пожалуйста решить проблему...
заранее спасибо за потраченное время.

Poltava

Я не совсем понял задачу, а точнее ее вторую часть, что должно быть с переменной в зеленом кружочке. На сколько я понимаю из приложенной картинки переменная в зеленом кружочке завязана в цепь которая равна переменной в красном кружочке. И что вы хотите получить ??? Что должно быть с переменной ??? И кстати сразу замечание включите и посмотрите степени свободы.Параметризировать лучше так чтобы их у элементов не было иначе поведение модели слабо предсказуемо. А тут они помоему у элементов будут и предсказать поведение модели после изменения переменных будет сложно

Pollitruk

Можно ещё целочисленно делить, такой знак - "%".

MuZon

переменная в зеленом кружке должна быть минимальна для сохранения кратности переменной в красном кружке... т.е. она в принципе не важна и не нужна, но габарит (v18) должен быть не меньше суммы (v68+v63+v64+v16+v19) и в то же время должен быть кратным 5ти.
степеней свободы нет. этот документ - сборка (серым цветом - деталь). на ее плоскости создал другую деталь, спроецировал (в эскиз) первую деталь и начал задавать размеры от нее. (кстати при введении размеров непосредственно от детали - теряются привязки...Вам не встречалось такое?)

Alanas

Пока что не вижу различия между задачей, которую уже решили в этой теме, и Вашей задачей.

MuZon

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

Alanas

В первую очередь высчитывается размер в красном кружочке как ceil((v68+v63+v64+v16+v19)/5)*5 = v18, а то, что в зеленом кружочке будет информационная переменная, равная v18-(v68+v63+v64+v16+v19), наверное как-то так это должно выглядеть.

MuZon

да. это должно выглядеть так. Спасибо большое.
но это циклическая зависимость((
вопрос отпал за пересмотром конструкции. Но в целом конечно жаль, что в компасе переменные так не совершенны...

Pollitruk

А в какой проге можно циклическую зависимость создать и чтоб она не вылетела или не выдала ошибку? ;)

Alanas

Цитата: Pollitruk от 21.09.11, 10:41:16
А в какой проге можно циклическую зависимость создать и чтоб она не вылетела или не выдала ошибку?
в Maple, rsolve(...)
UPD: Хотя, допускаю, что цитируемое сообщение может быть сарказмом.

Pollitruk

Maple это САПР??? :o Это ж математическая система! Вроде MathCADа. Конечно там можно цикл задать, но тоже не бесконечный, а с каким-то минимальным "допуском". Все мат. системы содержат встроенный язык программирования.

Alanas

"прога", выражаясь Вашими словами, это тоже необязательно САПР. MuZon посетовал на несовершенство работы с переменными, на что, как я понял, Вы захотели получить ответ, где работа с переменными реализована лучше в плане работы с циклическими связями. Зачем-то упоминаемые Вами циклы, кстати, имеют с этим очень мало общего, несмотря на сходство названий.

MuZon