Вычисления двойной точности

Пользовательские блоки дополняющие возможности стандартных блоков из разделов Математика и Алгебра, а так-же различные цифровые фильтры
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Ingwar
Полковник
Сообщения: 1928
Зарегистрирован: 28 окт 2015, 22:47
Откуда: Ленобласть
Имя: Игорь
Поблагодарили: 2 раза

Вычисления двойной точности

Сообщение Ingwar »

Блоки для вычислений точностью больше чем 7 разрядов (флоат).
Лучше использовать с 32-битными камнями.
Безымянный.png
математика double.ubl
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

Вычисления двойной точности

Сообщение rw6cm »

Ingwar писал(а): 12 мар 2023, 09:35 Блоки для вычислений точностью больше чем 7 разрядов (флоат).
Скажите каким образом в флпрог можно подать на вход ваших блоков число больше 4-5х знаков после запятой?
И как посмотреть точность вычислений больше чем 7 разрядов на выходе?
Win10-64, FLProg (portable)
Аватара пользователя
Dryundel
Полковник
Сообщения: 2406
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Поблагодарили: 15 раз

Вычисления двойной точности

Сообщение Dryundel »

rw6cm писал(а): 12 мар 2023, 10:35 Скажите каким образом в флпрог можно подать на вход ваших блоков число больше 4х знаков после запятой?
И как его посмотреть на выходе?
Думаю можно через конвертер строк.

Меня заинтересовал другой вопрос.
Ingwar писал(а): 12 мар 2023, 09:35 Лучше использовать с 32-битными камнями.
Что значит лучше? Может быть ТОЛЬКО?
Для AVR double то же самое, что float.
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

Вычисления двойной точности

Сообщение rw6cm »

Dryundel писал(а): 12 мар 2023, 10:46 Думаю можно через конвертер строк.
Тогда проще сделать конвертер строк в double и не создавать кучу лишних переменных,
а блоки математики в флпрог не имеют своих переменных, и могут работать с любыми типами, даже с double.
Win10-64, FLProg (portable)
Аватара пользователя
Dryundel
Полковник
Сообщения: 2406
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Поблагодарили: 15 раз

Вычисления двойной точности

Сообщение Dryundel »

rw6cm писал(а): 12 мар 2023, 10:59 Тогда проще сделать конвертер строк в double и не создавать кучу лишних переменных,
Логично. Только не конвертер строк в double, а конвертер float в double и дальше обычными блоками математики пользоваться.
В противном случае надо еще и по всей алгебре такими блоками пробежаться.

Отправлено спустя 1 минуту 48 секунд:
И лучше сделать такой конвертер в PRO редакторе. Тогда вообще без лишних переменных обойдется.

Отправлено спустя 3 минуты 7 секунд:
А еще лучше, было бы, если бы Автор добавил недостающие типы переменных в FLProg в том числе еще и unsigned int.
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

Вычисления двойной точности

Сообщение rw6cm »

Dryundel писал(а): 12 мар 2023, 11:06 а конвертер float в double
Дело в том что в флпрог есть ограничение (округление float) до "разумного" числа. Автор как то давно писал, что нет смысла от длинных чисел float если точность выше 6 знаков ни какая. Это было давно когда еще не было есп, но по ходу оно действует и сейчас.
Так что float больше 5 знаков ввести через флпрог не получится
Win10-64, FLProg (portable)
Ingwar
Полковник
Сообщения: 1928
Зарегистрирован: 28 окт 2015, 22:47
Откуда: Ленобласть
Имя: Игорь
Поблагодарили: 2 раза

Вычисления двойной точности

Сообщение Ingwar »

rw6cm писал(а): 12 мар 2023, 10:35 Скажите каким образом в флпрог можно подать на вход ваших блоков число больше 4-5х знаков после запятой?
Ну вообще то разрядность это не числа после запятой...
rw6cm писал(а): 12 мар 2023, 10:35 И как посмотреть точность вычислений больше чем 7 разрядов на выходе?
Не понял вопроса.
Если блок не будет работать, то так и напишите, я вообще в этом не шарю... Че нападать то стразу с "подковыристыми" вопросами :shok:
Сделал как понимаю :smile44:
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

Вычисления двойной точности

Сообщение rw6cm »

Dryundel писал(а): 12 мар 2023, 11:11 И лучше сделать такой конвертер в PRO редакторе. Тогда вообще без лишних переменных обойдется.
Такой делал Здесь но отдельно его не выкладывал т.к не увидел возможности его применения.

Отправлено спустя 8 минут 16 секунд:
Ingwar писал(а): 12 мар 2023, 11:18 Если блок не будет работать, то так и напишите, я вообще в этом не шарю... Че нападать то стразу с "подковыристыми" вопросами
Не каких подковырестых вопросов, я как "начинающий пользователь" спросил простой вопрос, как подать на вход double?
или хотя бы где и как Вы их применяли?
Win10-64, FLProg (portable)
Ingwar
Полковник
Сообщения: 1928
Зарегистрирован: 28 окт 2015, 22:47
Откуда: Ленобласть
Имя: Игорь
Поблагодарили: 2 раза

Вычисления двойной точности

Сообщение Ingwar »

rw6cm писал(а): 12 мар 2023, 11:33 я как "начинающий пользователь" спросил простой вопрос как подать на вход double?
не...
я про это
rw6cm писал(а): 12 мар 2023, 10:35 И как посмотреть точность вычислений больше чем 7 разрядов на выходе?
а про то, что можно подать - вопрос к Автору)
Задачу ставил именно в повышении точности математической операции.
То, что на выходе мы можем потерять необходимые знаки после запятой уже не моя вина, точнее как это избежать - я не умею...
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2406
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Поблагодарили: 15 раз

Вычисления двойной точности

Сообщение Dryundel »

Ingwar писал(а): 12 мар 2023, 11:18 Че нападать то стразу с "подковыристыми" вопросами
Ни кто особо не нападает. Это так, размышления в слух от [ref=#ff8000]rw6cm[/ref]. :)
Ingwar писал(а): 12 мар 2023, 11:18 Сделал как понимаю
:smile9:
Необходимость в более точных вычислениях и в типе double, назрела уже давно. Жаль что приходится применять костыли для этого.
rw6cm писал(а): 12 мар 2023, 11:16 Дело в том что в флпрог есть ограничение (округление float) до "разумного" числа.
Есть такая беда. Ввести больше 5 знаков никак. Но получить в процессе вычисления можно.

Ну и конечно же Вы оказались прозорливей.
rw6cm писал(а): 12 мар 2023, 10:59 Тогда проще сделать конвертер строк в double
Так можно будет ввести и 15 знаков для double.
Ingwar
Полковник
Сообщения: 1928
Зарегистрирован: 28 окт 2015, 22:47
Откуда: Ленобласть
Имя: Игорь
Поблагодарили: 2 раза

Вычисления двойной точности

Сообщение Ingwar »

Если я правильно понял ограничения программы, то например, если у нас результат вычислений равен 1,23456789 то мы теряем какие то цифры после запятой, а если 1234567,89 то верный расчет получим без потерь.

Отправлено спустя 2 минуты 23 секунды:
И хорош тут "умничать" :smile110:
Вы многое сделали для пользователей, сделайте еще одно доброе дело.
Карма вас не забудет :yes:
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2406
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Поблагодарили: 15 раз

Вычисления двойной точности

Сообщение Dryundel »

Ingwar писал(а): 12 мар 2023, 11:42 Если я правильно понял ограничения программы, то например, если у нас результат вычислений равен 1,23456789 то мы теряем какие то цифры после запятой
Нет. Не в этом ограничение. Попробуйте создать переменную с константой или ввести константу на вход какого нибудь блока. Лишние знаки обрежутся.
Ingwar
Полковник
Сообщения: 1928
Зарегистрирован: 28 окт 2015, 22:47
Откуда: Ленобласть
Имя: Игорь
Поблагодарили: 2 раза

Вычисления двойной точности

Сообщение Ingwar »

Dryundel писал(а): 12 мар 2023, 11:45 Нет. Не в этом ограничение. Попробуйте создать переменную с константой или ввести константу на вход какого нибудь блока. Лишние знаки обрежутся.
Я про ограничения применимо к своим блокам.
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2406
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Поблагодарили: 15 раз

Вычисления двойной точности

Сообщение Dryundel »

Ingwar писал(а): 12 мар 2023, 11:47 Я про ограничения применимо к своим блокам.
Ну вот и попробуйте ввести на вход вашего блока 0.123456789. Станут понятны ограничения.
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

Вычисления двойной точности

Сообщение rw6cm »

Ingwar писал(а): 12 мар 2023, 11:47 Я про ограничения применимо к своим блокам.
Смысла от блоков нет, если мы не можем работать с такими числами.
2023_03_12_11_30_26_COM3.png
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Win10-64, FLProg (portable)
Ingwar
Полковник
Сообщения: 1928
Зарегистрирован: 28 окт 2015, 22:47
Откуда: Ленобласть
Имя: Игорь
Поблагодарили: 2 раза

Вычисления двойной точности

Сообщение Ingwar »

Dryundel писал(а): 12 мар 2023, 11:49 Ну вот и попробуйте ввести на вход вашего блока 0.123456789. Станут понятны ограничения.
Андрей, это уже настораживает...
Привычка читать посты по диагонали :smile390:

Отправлено спустя 1 минуту 18 секунд:
rw6cm писал(а): 12 мар 2023, 11:51 Смысла от блоков нет, если мы не можем работать с такими числами.
перенесите запятую вправо на 7 знаков
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
Аватара пользователя
Dryundel
Полковник
Сообщения: 2406
Зарегистрирован: 22 май 2017, 23:15
Откуда: Ярославль
Имя: Андрей
Поблагодарили: 15 раз

Вычисления двойной точности

Сообщение Dryundel »

Ingwar писал(а): 12 мар 2023, 11:53 перенесите запятую вправо на 7 знаков
А какой смысл тогда вообще связываться с плавающей точкой?
Перенесите запятую на 15 знаков и вот уже целочисленное вычисление, которое легче и быстрей.
Ingwar
Полковник
Сообщения: 1928
Зарегистрирован: 28 окт 2015, 22:47
Откуда: Ленобласть
Имя: Игорь
Поблагодарили: 2 раза

Вычисления двойной точности

Сообщение Ingwar »

[ref=#ff8000]Dryundel[/ref], [ref=#ff8000]rw6cm[/ref], признаю - обрезали вы мне крылья, в этом виде ПБ бессмыслены...

Отправлено спустя 1 минуту 10 секунд:
И как теперь сука с этим жить :smile453:
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
Аватара пользователя
rw6cm
Полковник
Сообщения: 2372
Зарегистрирован: 06 сен 2015, 20:25
Имя: Владимир
Поблагодарили: 41 раз

Вычисления двойной точности

Сообщение rw6cm »

Ingwar писал(а): 12 мар 2023, 11:53 перенесите запятую вправо на 7 знаков
Вы сами посмотрите что будет :smile469:
2023_03_12_12_14_26_COM3.png
Сравнение вычислений float double.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Win10-64, FLProg (portable)
Ingwar
Полковник
Сообщения: 1928
Зарегистрирован: 28 окт 2015, 22:47
Откуда: Ленобласть
Имя: Игорь
Поблагодарили: 2 раза

Вычисления двойной точности

Сообщение Ingwar »

rw6cm писал(а): 12 мар 2023, 12:19 Вы сами посмотрите что будет
Но стоит записать результат расчета в перемененную Flprog, то карета превращается в тыкву :smile113:
Люди в своем большинстве живо интересуются всем на свете, за исключением того, что действительно стоит знать.
Ответить

Вернуться в «Блоки для рассчетов и цифровые фильтры»

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

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