Карта сайта

Это автоматически сохраненная страница от 01.02.2013. Оригинал был здесь: http://2ch.hk/b/res/42666980.html
Сайт a2ch.ru не связан с авторами и содержимым страницы
жалоба / abuse: admin@a2ch.ru

Птн 01 Фев 2013 03:52:32
Погромисты! Почему выражение слева, набранное в матлабе, выдает -2.220446049250313e-016, а справа 0 как положено?


Птн 01 Фев 2013 03:54:01
Потому что твой матлаб - кривое говно, не умеет упрощать и приближать правильно, а еще простейшие выражения считает хуй пойми как.

In[2]:= 3*(4/3 - 1) - 1
3*(1/3) - 1
Out[2]= 0
Out[3]= 0

Птн 01 Фев 2013 03:57:04
>>42667016
Спасибо, но почему так происходит? Меня заставляют на матлабе работать не гуманитарий, но программирование не люблю

Птн 01 Фев 2013 06:37:48
>>42667096

2.220446049250313e-016 - это оче мало. Учитывая, что операции с плавающей запятой на твоей ЭВМ происходят в двоичной системе счисления, дробь с числителем не равным степени двойки представляется с погрешностью.

Птн 01 Фев 2013 06:38:19
>>42669846

Со знамениетелем, я имел в виду. Это же надо так обосраться.

Птн 01 Фев 2013 06:39:50
https://encrypted.google.com/search?q=floating+point
мог бы ограничиться и постом в /pr/

Птн 01 Фев 2013 06:40:34
>>42669858

>знамениетелем

Блядь. Ну ты меня понял.

Птн 01 Фев 2013 06:52:59
>>42666980
умные дахуя

Птн 01 Фев 2013 07:09:14
>>42670024
Вся суть дебила-школьника, обосрать то что не понимает.

Птн 01 Фев 2013 07:11:47
Потомучто матлаб не может разделить 4 на 3.

Птн 01 Фев 2013 07:14:13
>>42666980
Хм. Хуй знает. Посижу в треде, посмотрю, к чему тут придут. Сам ума не приложу, вроде действия все в одинаковом порядке должны выполняться, в чём же тогда соль?

Птн 01 Фев 2013 07:16:14
Бля в моём божественном R то же самое.

> 3*(4/3-1)-1
[1] -2.220446e-16

> 3*(1/3)-1
[1] 0

Птн 01 Фев 2013 07:17:21
>>42670326
Блядь, да это лол какой-то получается. Калькулятор шиндошс может, а матлаб - нет? Ну и пушка.

Птн 01 Фев 2013 07:22:18
>>42670385
помойму в матлабе есть настройка что бы он с дробями работал, а так вообще значение маленькое очень получается, и выглядит все нормально потому что 4/3 будет представлено как число с плавающей точкой, и по порядку это 1 операция, все нормально, по гугли матлаб работа с дробями

Птн 01 Фев 2013 07:24:15
>>42666980
Лол, все упирается в вещественные вычисления, точнее в неустранимую погрешность при округление результата.
Для этого придумали символьные вычисления и специальные алгоритмы. Но в сраном матлабе такого нету, ибо он и так тормозной, да еще затратные алгоритмы прикреплять.

А ты не знал, что 0.2 + 0.2 не равно 0.4?

Птн 01 Фев 2013 07:25:29
А почему матлаб и ар не могут разделить 4 на 3 но могут разделить 1 на 3?

Птн 01 Фев 2013 07:27:16
>>42670464
А ЧЕМУ ОНО РАВНО БЛЯТЬ???
мимогуманитарий

Птн 01 Фев 2013 07:33:53
>>42666980
В первом случае сначала 4 делится на 3, получается 1,(3) затем вычитается 1. В итоге в скобках получается 0,(3). Дальше из-за этого и получается отрицательное число.

Во втором случае такого не происходит. 3 умножается на 1, получается три третьих, т.е. 1. В итоге у тебя будет ровно 0.

Птн 01 Фев 2013 07:34:33
>>42670506
0.39999998

Птн 01 Фев 2013 07:37:22
>>42670623
Лол, но почему?

Птн 01 Фев 2013 07:40:48
>>42670612

А я пошёл дальше, сохранил то, что в скобках как отдельную переменную и всё равно ничего не поменялось.

> x (4/3)-1
> x
[1] 0.3333333
> y 1/3
> x
[1] 0.3333333
> y
[1] 0.3333333
> 3*x
[1] 1
> 3*y
[1] 1
> 3*x-1
[1] -2.220446e-16
> 3*y-1
[1] 0

Однако, числа икс и игрек не равны.

> x<y
[1] TRUE
> x>y
[1] FALSE

Птн 01 Фев 2013 07:44:43
>>42670667
Тебе блять сказано же , погрешность вычеслений чисел с плавающей точкой.

Птн 01 Фев 2013 07:46:29
>>42670778

Ну вроде эту хуйню ар и матлаб считают правильно.

Птн 01 Фев 2013 07:48:08
>>42670778
>погрешность вычеслений чисел с плавающей точкой
А какого хуя она плывет?

Птн 01 Фев 2013 07:50:01
>>42670834
в жидкости, вот и плывет

Птн 01 Фев 2013 07:51:15
>>42670376
Ты случайно не проходил курсы Computing for Data Analysis на Coursera?

Птн 01 Фев 2013 07:51:34
>>42670623
кто до такой хуйни додумался?

Птн 01 Фев 2013 07:52:08
>>42670804
Тащемта в них пофикшенно с хуйней вроде, ошибок округления, но вычислительный стек короткий как твой хуец, потому на больших цепочках ошибка внезапно выплывает

Птн 01 Фев 2013 07:53:32
>>42670896
Вроде в IBM, я уже не помню, а гуглить лень.

Птн 01 Фев 2013 07:57:16
>>42670892

Нет :3 Хотел, но мне пока и по жизни забот с R хватает. Я не знаю что это за курс, я слышал там два есть. Один для нубов совсем, второй я бы потянул со скрипом. Так что попозже.
А чому ты спрашиваешь?

Птн 01 Фев 2013 07:59:41
>>42669882
>encrypted

Птн 01 Фев 2013 08:01:56
>>42671001
Думал, может ещё кто-нибудь проходил. Он только что закончился, скоро, наверное, сертификат получу. У меня там должно быть 95 баллов из 100.

Птн 01 Фев 2013 08:09:26
>>42671101

Ну ты крут. А зачем проходил и как применять планируешь?

Птн 01 Фев 2013 08:10:04
>>42670721
Говорю же, во втором случае НЕ появляется число с перидом после запятой, а в первом появляется.

Птн 01 Фев 2013 08:11:39
>>42671246
Блять, не та пикча. Ну да похуй.

Птн 01 Фев 2013 08:15:39
>>42671237
Проходил для общего развития, применять буду, если что-то понадобиться. Работать с этим не планирую. Лол, я и вообще работать то не планирую.

Птн 01 Фев 2013 08:17:58
>>42671357

А какие-то языки до этого учил? А то я видел там задания какие-то на создание функций, выглядело сурово да и на 95 баллов я бы вряд ли сдал такое.

Птн 01 Фев 2013 08:32:09
>>42666980
потому что компилятор не умеет правильно обрабатывать скобки,он выполняет операции в том порядке как они написаны

Птн 01 Фев 2013 08:32:53
>>42671392
Ну, лучше всего пишу на C#, могу писать на C++, джаве, немного на питоне и джаваскрипте. Второе и третье задания там были суровые, да. Над ними я сидел часов по 5-6 без перерыва. Считай весь день занимался этим, 2 часа лекций, потом тест, потом задания. А последнее заданее было довольно лёгким, regular expressions, в которых я более-менее шарю, и сделал его за пол часа.

Птн 01 Фев 2013 08:38:33
>>42670612
Хуле он 1 на 3 не делит во втором?

Птн 01 Фев 2013 08:45:53
>>42671786
Умножение же

Птн 01 Фев 2013 08:53:00
>>42671786
>Хуле он 1 на 3 не делит во втором?
Он делит же, как и другие языки программирования

Птн 01 Фев 2013 09:02:17
>>42666980
В треде все ответы по существу, но слишком невнятные. Отвечу проще. Невозможно сохранить бесконечную десятичную дробь в конечной разрядной сетке, по этому дробь становится конечной.


← К списку тредов