Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Повышений точности 
:(
    Опции темы
sos
Дата 20.10.2005, 23:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 22
Регистрация: 12.8.2005

Репутация: нет
Всего: нет



я ТУТ РЕШАЮ слау, Пацаны пара вопросов^
1.Что значит 1.#INF; -1.#IND(ВЫДАЕТ В КОНСОЛИ);
2.тип double самый точный???КАК повысить тосность???(алгоритм опимизирован!!!)
PM MAIL   Вверх
sergejzr
Дата 20.10.2005, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 19
Всего: 360



1) Это значит, негативная бесконечность.
2) Точность повысить можно с пом. специальных библиотек, но они очень медленные, так как простейшие действия как сложение, умножение делаются "ручками" в коде (типа как мы делаем это столбиком), а не процессором. А doubl самый точный тип с которым процессор напрямую может работать.

Но сперва необходимо выяснить, какая именно точность тебе нужна ;)



--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
cardinal
Дата 20.10.2005, 23:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 2
Всего: 99



Цитата(sergej @ 20.10.2005, 21:18)
1) Это значит, негативная бесконечность.

И позитивная соответсвенно (как я понимаю)...


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
maxim1000
Дата 21.10.2005, 00:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 17
Всего: 110



когда решается какая-то задача на компьютере, погрешность появляется из-за двух причин:
1. недостаточность точности при сохранении конечного результата
2. погрешности при вычислениях

для того, чтобы решить первую проблему выход единственный - менять тип результата, наверняка, придется менять тип и промежуточных переменных
это медленно...

зато для второго варианта есть один подход...
погрешности при вычислениях с double обычно имеют относительный характер, т.е. при уменьшении числа абсолютная погрешность его тоже уменьшается
для СЛАУ делают так:
1. решают ее обычным методом, т.е. находят x: Ax=b
2. получают на самом деле |Ax-b| маленькая, но не нулевая
3. решают задачу: Ay=e (e=Ax-b)
в качестве более точного решения берут вместо x x-y
получается A(x-y)=Ax-y=b+e-e=b
на самом деле, Ay не точно равно e, поэтому точность последнего равенства тоже не абсолютная, но преимущества все равно есть: во втором процессе вычислений участвуют меньшие числа, а потому абсолютная погрешность получается меньше...
конечно, ничто не спасает от погрешности при сохранении результата, но тут, как я уже писал, кроме замены типа на более точный врядли что-то придумается...
хотя опять же, даже если и заменять, то можно провести такую пару вычислений и "собрать" только в конце более точные значения из пары менее точных... тогда можно будет сделать не такой сильный скачок в длительности работы алгоритма, правда, за счет точности...

Это сообщение отредактировал(а) maxim1000 - 21.10.2005, 00:16


--------------------
qqq
PM WWW   Вверх
Mayk
Дата 21.10.2005, 09:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: 45
Всего: 134



long double точнее double


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
pablo
Дата 21.10.2005, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 320
Регистрация: 12.2.2005
Где: Вильнюс, Литва

Репутация: 4
Всего: 6



Цитата
ong double точнее double

На некоторых компиляторах точности могут совпадать


--------------------
Первый блин всегда похож на сферу, иногда бывает и куб.
PM MAIL ICQ   Вверх
Mayk
Дата 21.10.2005, 18:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


^аВаТаР^ сообщение>>
****


Профиль
Группа: Участник
Сообщений: 2616
Регистрация: 22.5.2005
Где: за границей разум а

Репутация: 45
Всего: 134



Весьма на некоторых надо полагать.
В борле и гнусе различаются точно. В вязанке афаир тоже. Другие не щупал.

зы.
float <= double <= long double и йожик с ними это конечно хорошо, но всё же точнее лонг дабла типа не найти afaik.

Это сообщение отредактировал(а) Mayk - 21.10.2005, 18:30


--------------------
 Здесь был кролик. Но его убили.
Человеки < кроликов, йа считаю.
PM MAIL WWW ICQ   Вверх
S.A.P.
Дата 21.10.2005, 21:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2664
Регистрация: 11.6.2004

Репутация: 9
Всего: 71



ИМХО тут порядок вычислений может влиять на точность.

a*b/c

с точки зрения математики, пофигу в каком порядке считать. А если, скажем, число C - бесконечно малое, то делить на него лучше меньшее из A и B, чтобы погрешность сократить.
PM MAIL   Вверх
cardinal
Дата 21.10.2005, 22:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 2
Всего: 99



Цитата(Perchilla @ 21.10.2005, 19:33)
ИМХО тут порядок вычислений может влиять на точность.

"ИМХО" можешь убрать, т.к. это факт. smile


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0541 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.