|
|
|
Помогите!!! что делать с этим числом.... (((
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. У меня проблема такого характера - мне нужно найти решение СЛАУ (методом квадратного корня) после чего вычислить вектор невязки таким образом: К примеру размерность системы = 4. К примеру я нашел решение: х1=3,55432011, х2=-0,12544932112022, х3=-1,4432, х4=0,5. (используется тип double). Суть не в значениях найденного решения а в следующем: теперь я подставляю найденные х-ы в систему и получаю какой-то результат. Наприем первое уравнение было заданно так: 3*х1+12*х2-5*х3+х4 = 5,4 Так вот, подставив найденные х-ы в левую часть этого уравнения я получил (например) число 5,4333222990011133. То есть практически тоже самое, но немного все же другое. Теперь я вычитаю из этого числа число 5,4 для того, чтобы определить значение невязки первого уравнения. И ТУТ!!!!!!! вдруг, при выводе на экран результата этой операции, я вижу абсолютно непонятное мне число, к примеру такое: -3,3444555348293235623Е -34. Вот это мне не нравится и я не понимаю откуда оно берется и как мне получить нормальный результат с которым я мог бы дальше работать. Возможно его нужно как-то округлять, какими-то стандартными функциями или еще как-то.. Помогитепожалуйста.. Застрял на этом, казалось бы, простом моменте.. Но его ничего не могу понять.. что это за число? мне хотелось бы более конкретное значение... Заранее БОЛЬШОЕ СПАСИБО! PS: пишу на С++ Билдере 6.0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2006, 05:49 |
|
||
|
Помогите!!! что делать с этим числом.... (((
|
|||
|---|---|---|---|
|
#18+
5,4333222990011133-5,4=0,0333222990011133 а не -3,3444555348293235623Е -34. Если же Вы наблюдаете -3,3444555348293235623Е -34, то это странно. Пристегните исходный текст *.bpr;*.cpp;*.h, и саму систему уравнений, иначе навряд ли Вам смогут помочь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2006, 06:34 |
|
||
|
Помогите!!! что делать с этим числом.... (((
|
|||
|---|---|---|---|
|
#18+
А чем тебе непонятно число -3,3444555348293235623Е -34 ? Мне например все приведенные тобой числа равнонепонятны... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.04.2006, 22:48 |
|
||
|
Помогите!!! что делать с этим числом.... (((
|
|||
|---|---|---|---|
|
#18+
Никаких советов без анализа кода давать я думаю не следует. Выложите код, тогда можно будет думать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2006, 00:12 |
|
||
|
Помогите!!! что делать с этим числом.... (((
|
|||
|---|---|---|---|
|
#18+
Хорошо! Сейчас выложить не смогу, завтра выложу.. Посмотрите пожалуйста.. буду Очень признателен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.04.2006, 08:19 |
|
||
|
Помогите!!! что делать с этим числом.... (((
|
|||
|---|---|---|---|
|
#18+
Да че здеся гадать-то : арифметика плавающей точки, ну и все вытекающие последствия... Решение: 1) отказ от арифметики с плавающей точкой (изобретение своего супер-пупер навороченного лисапеда, реализующего операции с дробными числами) 2) производить округление результата до необходимой точности З.Ы. Здря вообще этот double придумали (IMHO), т.к. проблем от него больше чем пользы... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2006, 10:29 |
|
||
|
Помогите!!! что делать с этим числом.... (((
|
|||
|---|---|---|---|
|
#18+
Кто осилит следующее: нужно числу типа double присвоить значение 3024.1935 т.е. Код: plaintext У меня почему-то получается 3024.19349999999... Вот вам и двойная точность... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2006, 10:15 |
|
||
|
Помогите!!! что делать с этим числом.... (((
|
|||
|---|---|---|---|
|
#18+
БорманннВот вам и двойная точность...Интересно, а чего ты ждал ? Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2006, 10:58 |
|
||
|
Помогите!!! что делать с этим числом.... (((
|
|||
|---|---|---|---|
|
#18+
БорманннКто осилит следующее: нужно числу типа double присвоить значение 3024.1935 т.е. Код: plaintext У меня почему-то получается 3024.19349999999... Вот вам и двойная точность... Есстественно. Ошибка должна быть на несколько порядков меньше, чем при обычной точности. Вот, я смотрю, в твоем пример совсем маленькая ошибка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2006, 12:32 |
|
||
|
Помогите!!! что делать с этим числом.... (((
|
|||
|---|---|---|---|
|
#18+
Карабас Барабас БорманннВот вам и двойная точность...Интересно, а чего ты ждал ? Posted via ActualForum NNTP Server 1.3 Ты удивисся: 3024.1935!!!! Я знаю, про эти проблемы с плавающей точкой, мне одно не понятно: на кой икс тогда нужен этот тип double? Сейчас, возможно, пойдут возражения, типа, для большинства задач данный тип можно использовать. Хм, возможо, если задача статичная (не развивается, не модифицируется). Сам накололся на это дело. Все работало как часы. В один прекрасный момент стало необходимо повысить точность вычислений. В результате - все пришлось переделывать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2006, 10:56 |
|
||
|
Помогите!!! что делать с этим числом.... (((
|
|||
|---|---|---|---|
|
#18+
Борманнн Карабас Барабас БорманннВот вам и двойная точность...Интересно, а чего ты ждал ? Ты удивисся: 3024.1935!!!! Борман, тебе не хватает базовых знаний в области математики. Именно - рациональные и иррациональные числа. Почитай - поймешь, зачем double. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.04.2006, 11:37 |
|
||
|
Помогите!!! что делать с этим числом.... (((
|
|||
|---|---|---|---|
|
#18+
Да причем тута рац. и иррац. числа-то? Сам-то понял? Если в двоичном виде число (ну например, то же 3024.1935 ) не представимо- какие тут рац и иррац. числа? Это двоичная арифметика... З.Ы. Рациона́льное число́ — число представляемое обыкновенной дробью , где m — целое число, n — натуральное число. Иррациона́льное число́ это вещественное число, которое не является рациональным ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2006, 10:38 |
|
||
|
Помогите!!! что делать с этим числом.... (((
|
|||
|---|---|---|---|
|
#18+
БорманИррациона́льное число́ это вещественное число, которое не является рациональным корень из 2 - иррациональное PI - трансцедентное ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2006, 11:42 |
|
||
|
Помогите!!! что делать с этим числом.... (((
|
|||
|---|---|---|---|
|
#18+
БорманннДа причем тута рац. и иррац. числа-то? Рациональное число в одной системе счисления не обязательно будет рациональным в другой системе счисления. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2006, 11:55 |
|
||
|
Помогите!!! что делать с этим числом.... (((
|
|||
|---|---|---|---|
|
#18+
MasterZiv БорманннДа причем тута рац. и иррац. числа-то? Рациональное число в одной системе счисления не обязательно будет рациональным в другой системе счисления. Глубоко Но верно только для систем счисления с не натуральным основанием (единичку не рассматриваем) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2006, 11:57 |
|
||
|
Помогите!!! что делать с этим числом.... (((
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)Но верно только для систем счисления с не натуральным основанием (единичку не рассматриваем)ээээ не рациональным наверное ? Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2006, 12:18 |
|
||
|
Помогите!!! что делать с этим числом.... (((
|
|||
|---|---|---|---|
|
#18+
Рациональное - представимое в виде отношения натурального числителя и знаменателя Натуральное - 1,2,3,4,... Давайте будем точны в определениях ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2006, 12:38 |
|
||
|
Помогите!!! что делать с этим числом.... (((
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan) GK> Рациональное - представимое в виде отношения натурального GK> числителя и знаменателя GK> Натуральное - 1,2,3,4,... GK> Давайте будем точны в определениях Ну дак и я о том же. Вот к примеру число PI. В системе с основанием PI (нерациональное основание) оно будет 1, т.е. 1/1, стало быть рациональным. А в системе с основанием 3.1 (рациональное основание) оно все же останется иррациональным Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2006, 12:46 |
|
||
|
Помогите!!! что делать с этим числом.... (((
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)Но верно только для систем счисления с не натуральным основанием а я что сказал ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2006, 13:28 |
|
||
|
Помогите!!! что делать с этим числом.... (((
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)а я что сказал ?Найди 10 отличий: натуральное и рациональное Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2006, 13:35 |
|
||
|
Помогите!!! что делать с этим числом.... (((
|
|||
|---|---|---|---|
|
#18+
А вот это уже надо доказывать математически :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2006, 13:42 |
|
||
|
Помогите!!! что делать с этим числом.... (((
|
|||
|---|---|---|---|
|
#18+
Gluk (Kazan)А вот это уже надо доказывать математически :)Строго говоря - да, согласен Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.04.2006, 13:52 |
|
||
|
Помогите!!! что делать с этим числом.... (((
|
|||
|---|---|---|---|
|
#18+
MasterZiv БорманннДа причем тута рац. и иррац. числа-то? Рациональное число в одной системе счисления не обязательно будет рациональным в другой системе счисления. Ну хорошо, при переводе в двоичную систему счисления данное число будет иррациональным, и что ? double -то зачем? Чтобы показать иррациональность десятичных чисел в двоичной системе счисления? А я полагал, что его необходимость обусловлена операциями с нецелыми (вещественными) числами... А т.к. результаты этих операций, мягко говоря, не совсем соответствуют ожидаемым (в силу "иррациональности" представления), то напрашивается вопрос: а зачем использовать данный тип, если в результате (не всегда, конечно) получается не весть что? Я же не буду объяснять пользователю моей программы, что дескать, понимаете, результат немного отличается от нужного в силу непредставимости чисел (их иррац.) в двоичной системе счисления. Или предложу им (пользователям) все данные вводить (получать) в двоичной (ну или в 16-ричной ) системе. Да пошлют меня подальше с такими объяснениями и предложениями- и будут правы! Увы, большинство населения привыкло к десятичной системе счисления... Поэтому double фтопку- и изобретать свой лисапед... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2006, 07:57 |
|
||
|
Помогите!!! что делать с этим числом.... (((
|
|||
|---|---|---|---|
|
#18+
Борманнн MasterZiv БорманннДа причем тута рац. и иррац. числа-то? Рациональное число в одной системе счисления не обязательно будет рациональным в другой системе счисления. Ну хорошо, при переводе в двоичную систему счисления данное число будет иррациональным, и что ? double -то зачем? Чтобы показать иррациональность десятичных чисел в двоичной системе счисления? А я полагал, что его необходимость обусловлена операциями с нецелыми (вещественными) числами... А т.к. результаты этих операций, мягко говоря, не совсем соответствуют ожидаемым (в силу "иррациональности" представления), то напрашивается вопрос: а зачем использовать данный тип, если в результате (не всегда, конечно) получается не весть что? Я же не буду объяснять пользователю моей программы, что дескать, понимаете, результат немного отличается от нужного в силу непредставимости чисел (их иррац.) в двоичной системе счисления. Или предложу им (пользователям) все данные вводить (получать) в двоичной (ну или в 16-ричной ) системе. Да пошлют меня подальше с такими объяснениями и предложениями- и будут правы! Увы, большинство населения привыкло к десятичной системе счисления... Поэтому double фтопку- и изобретать свой лисапед... В вашем случае погрешность будет 0.0000000000...1 Для подавляющего большинства задач этого более чем достаточно. Сомневаюсь, что вы сможете изобрести "лисапед" дающий такую же точность с такой же скоростью. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2006, 12:03 |
|
||
|
Помогите!!! что делать с этим числом.... (((
|
|||
|---|---|---|---|
|
#18+
v6y В вашем случае погрешность будет 0.0000000000...1 Для подавляющего большинства задач этого более чем достаточно. Сомневаюсь, что вы сможете изобрести "лисапед" дающий такую же точность с такой же скоростью. Уже слышали это... Есть такое понятие, как промежуточные результаты.Дык вот, когда в промежуточных результатах стоит (к примеру) наше "магическое" число 3024.1935 , а в машине оно хранится как 3024.19349999..., то при проведении нескольких сотен,(тысяч,миллионов) итераций с применением различных арифметических операций с этим (ну и с другими подобными числами), с формированием таких же промежуточных результатов, в итоге мы можем получить погрешность. А если точность еще более большая- то и погрешность будет большей. Т.е. повезет- не повезет... А лисапед простой- использование целых чисел и целочисленной арифметики (скорость при этом, согласен, теряется: ну а что делать?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.04.2006, 13:13 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=33682084&tid=2031224]: |
0ms |
get settings: |
10ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
57ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
74ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 413ms |

| 0 / 0 |
