2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




На страницу Пред.  1, 2, 3, 4  След.
 
 Re: 0/0=?
Сообщение26.05.2020, 20:38 
Аватара пользователя
tonyk_av в сообщении #1465300 писал(а):
Разумность варианта б) подтвердил EUgeneUS (математик!).

Я не математик. И ничего подобного не подтверждал. Попрошу без грязи!

-- 26.05.2020, 20:39 --

tonyk_av в сообщении #1465300 писал(а):
Встречались 2 варианта поведения в ситуации целочисленного деления ноль на ноль:
а) возвращался 0;
б) возвращался 1.


Где встречались? В стандартах? Тогда приведите ссылки. Или может в наколенных поделках школьников?

 
 
 
 Re: 0/0=?
Сообщение26.05.2020, 20:41 
Аватара пользователя
tonyk_av в сообщении #1465300 писал(а):
математикам
tonyk_av в сообщении #1465300 писал(а):
возвращался
Как математик (ну условно математик, человек с какими-то обрывочными воспоминаниями о математическом образовании) могу сказать, что нормальные функции ничего не "возвращают", это же просто множества определенного вида, они ничего не брали, чтобы возвращать.
Есть куча функций, обозначаемых значком $/$. Наверное самая часто используемая - это функция $\mathbb {R} \times (\mathbb R \setminus \{0_{\mathbb R}\}) \to \mathbb R$. Значком $0$ тоже обозначается куча всего. Один из популярных вариантов - нейтральный по сложению элемент $\mathbb R$ (который я выше обозначил $0_{\mathbb R}$). Как несложно заметить, при таких определениях пары вида $\langle 0, 0\rangle$ не входят в область определения функции $/$, так что говорить о том, "сколько будет $0 / 0$" ничуть не более осмысленно, чем "сколько будет $\text{напильник} - \text{желтые ботинки}$". Естественно что можно заранее договориться, что мы значком $/$ будем обозначать какую-то другую функцию и сказать, чему она равна на паре $\langle 0, 0\rangle$ [правда читатели могут обидеться на такое обозначение, но это уже их проблемы].

Как программист, я могу сказать, что в разных ситуациях деление на $0 / 0$ разумно обрабатывать разными способами.
tonyk_av в сообщении #1465300 писал(а):
Я ж ведь не просто так спросил
А по-моему, просто так. Если нет - то что вы собираетесь делать с ответом?

 
 
 
 Re: 0/0=?
Сообщение26.05.2020, 20:43 
Аватара пользователя
tonyk_av в сообщении #1465300 писал(а):
Интересует результат с точки зрения математики.

Вам 100500 раз ответили, что с точки зрения математики "ноль на ноль - это неопределенность", корректно выразить каким-то определенным числом нельзя. Поэтому остается вопрос только и исключительно "программистский" - как выразить эту неопределенность в данном конкретном случае.

 
 
 
 Re: 0/0=?
Сообщение26.05.2020, 22:36 
tonyk_av в сообщении #1465300 писал(а):
И не нужно привязываться к языкам и платформам, важно было знать, что по этому вопросу скажут именно математики.
Они скажут, что какое число ни выдать — всё равно будут ошибки в таком коде, который использует эту функцию деления и не проверяет, установился ли флаг (или не проверяет делитель). Изредка удобно доопределять нулём, изредка единицей, да. Но для весьма специфичных контекстов. Если вы точно знаете все места, где будет использоваться деление, и что их не будет в будущем сильно больше и других, то может быть можно что-то предложить (в ответ на их перечисление!), но в общем-то случае проку от любого значения перед остальными возможными — ноль.

-- Ср май 27, 2020 00:39:26 --

(Я тоже «человек с какими-то обрывочными воспоминаниями о математическом образовании», хотя в обоих случаях это оценка по-моему скромновата.)

-- Ср май 27, 2020 00:47:29 --

Вообще эта проблема ничуть не менее специфичная, чем общая «что делать, если API нашей библиотеки не позволяет ограничить вызов этой штуки с некорректными аргументами, в случае таких вызовов». И предложение разобрать возможные контексты использования штуки — по-моему единственное, что возможно, и в общем случае это неутешительно, потому что они слишком неизвестны или разнообразны. И хорошо хоть флаг можно установить — можно считать, что эта конкретная проблема благодаря этому практически несущественная. Можно даже не писать в спецификации, что именно в таком случае возвращается (какой бы выбор ни сделать), «the result in this case is implementation-dependent» — это плюс к совместимости с возможными новыми версиями или альтернативными реализациями.

-- Ср май 27, 2020 00:49:22 --

Более того может быть даже смысл пригрозить неопределённым поведением. Это ещё более развязывает руки. Но связывает руки в использовании, так что наверно флага и неопределённого результата достаточно.

 
 
 
 Re: 0/0=?
Сообщение29.05.2020, 16:57 
В программируемых логических контроллерах операции выполняются безопасно.

Деление на ноль любого числа и любое переполнение разрядов интерпретируется как ошибка, результат операции игнорируется. Выход функции ENO устанавливается в false.

А у вас есть ENO?

 
 
 
 Re: 0/0=?
Сообщение29.05.2020, 23:29 
Автору вопроса.
Запрет деления на 0 в математике - есть условность, т.к. решением уравнения 0а=b является любое число (Да простят профессионалы слесаря КИПиА). Относительно Вашего вопроса. Пусть имеются 2 резервуара(А и В) с независимым переменным расходом некоторой технологической жидкости. Резервуары наполняются от некоторого источника, каждый через свой пропорциональный клапан. Наша задача - поддерживать одинаковый уровень в обоих резервуарах. Это может быть реализовано посредством Вашей функции. Пусть a - уровень жидкости в резервуаре A, b - в резервуаре B. Тогда Ka/b - величина сигнала, подаваемого на клапан резервуара B, если a/b>1 и, наоборот, Ka/b - величина сигнала, подаваемого на клапан резервуара A, если a/b<1. Ka/b, как легко догадаться, в жанном случае определяет скорость наполнения ёмкости с меньшим уровнем. Случай a=b=0 соответствует ситуации, когда оба резервуары пусты. Здесь имеем полный произвол в наших действиях: мы можем как полностью открыть оба клапана, чтобы обеспечить наполнение обоих ёмкостей с максимальной скоростью, а можем сформировать сигнал аварии и остановить установку - всё зависит от требований технологического процесса, не более. В общем, выше на это уже толсто Вам намекали, я просто проиллюстрировал задачу простым примером. Сформулируйте задачу конкретнее; желательно указать тип промышленного контроллера, с которым Вы работаете - возможно, смогу Вам деятельно помочь.

 
 
 
 Re: 0/0=?
Сообщение30.05.2020, 00:31 
tonyk_av в сообщении #1465143 писал(а):
Математики! Жду ваших, грамотных, обоснованных, ответов.

Вот ответ математика: делить на ноль нельзя ! И это учат еще в начальной школе. Предел $\sin(x)/x$ --- это одно, равно 1. А $0/0$ --- бессмысленное выражение.

А вообще, пожелание "грамотного, обоснованного ответа" выдает желание автора потроллить. На форуме "делителей на ноль" уже немало было. Кои тролли, а кои на голову больные.

-- 29.05.2020, 23:33 --

tonyk_av в сообщении #1465153 писал(а):
Модератор! Пожалуйста, верни тему к математикам!

Ага, для пущего тролления...

-- 29.05.2020, 23:43 --

А может, с товарища заказчик требует, чтоб его продукт возвращал "правильное" значение $0/0$. Ну, чтоб деньги не платить. Но это уже вопрос юридическо-милицейский...

 
 
 
 Re: 0/0=?
Сообщение31.05.2020, 20:40 
EUgeneUS в сообщении #1465303 писал(а):
tonyk_av в сообщении #1465300 писал(а):
Разумность варианта б) подтвердил EUgeneUS (математик!).

Я не математик.

Поздно!

 
 
 
 Re: 0/0=?
Сообщение31.05.2020, 21:09 

(Оффтоп)

Можно в какой-то мере радоваться, когда причисляют к математикам. А вот если к философам (и особенно после смерти, когда уже ничего не можешь сделать)…

 
 
 
 Re: 0/0=?
Сообщение22.07.2020, 17:40 
tonyk_av
Какого типа ваши переменные, какой контроллер, какая разрядность?
Вы можете всегда прибавлять к делителю минимальное возможное число, например 0.0000000001, если это некий float.

$\frac{a}{b + 0.00000000001}$
итп.

 
 
 
 Re: 0/0=?
Сообщение22.07.2020, 20:50 
Аватара пользователя
Одна из немногих тем, где в качестве ответа уместно "А сколько вам надо?"

 
 
 
 Re: 0/0=?
Сообщение22.07.2020, 21:59 
subsonic
Читайте внимательней тему, ТС уже уточнил что все числа целые, и результат тоже. Разрядность роли не играет вообще.

 
 
 
 Re: 0/0=?
Сообщение22.07.2020, 22:41 
Аватара пользователя

(Оффтоп)

Утундрий в сообщении #1475263 писал(а):
Одна из немногих тем, где в качестве ответа уместно "А сколько вам надо?"

В картах на подобный случай есть джокер.

 
 
 
 Re: 0/0=?
Сообщение22.07.2020, 22:47 
Dmitriy40 в сообщении #1475285 писал(а):
Читайте внимательней тему, ТС уже уточнил что все числа целые, и результат тоже. Разрядность роли не играет вообще.
А первый замечательный предел $(\sin x)/x$ он упомянул в заглавном посте, очевидно, чисто для понту...

 
 
 
 Re: 0/0=?
Сообщение22.07.2020, 23:08 
Аватара пользователя
nongma в сообщении #1465882 писал(а):
решением уравнения 0а=b является любое число
Шо это было? :shock:

 
 
 [ Сообщений: 46 ]  На страницу Пред.  1, 2, 3, 4  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group