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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> погрешность вычислений 
:(
    Опции темы
aworld
Дата 10.12.2007, 18:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



каким образом можно уменьшить погрешность вычислений допустим при решении систем уравнений методом Гаусса?
PM MAIL   Вверх
bsa
Дата 10.12.2007, 18:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

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



aworld, например, если использовать long double вместо double.
PM   Вверх
aworld
Дата 10.12.2007, 19:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



этот прием не приносит существенных результатов. я использую матрицу Гилберта размерностью 100*100. правая чать генерируется в отрезке [-1,1]. Относительная погрешность при этом равна 1.00764. Данные различаются в десятки раз...
PM MAIL   Вверх
EnShTe1N
Дата 10.12.2007, 19:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



хммм

Это сообщение отредактировал(а) EnShTe1N - 10.12.2007, 19:42
PM MAIL   Вверх
JackYF
Дата 10.12.2007, 20:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


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

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



aworld, применив длинные дробные числа либо заменив алгоритм.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
aworld
Дата 10.12.2007, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



я ввел класс дроби но это уже другая тема, на данном этапе я хотел бы уменьшить погрешность именно с вещественным типом.. существуют ли какие то классы обобщающие или расширяющие класс double? или это бесполезно?
PM MAIL   Вверх
zkv
Дата 10.12.2007, 21:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


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

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



aworld, глянь сюда, может найдешь что-нить полезное  smile 
PM MAIL   Вверх
bsa
Дата 10.12.2007, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

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



PM   Вверх
aworld
Дата 10.12.2007, 21:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



сп. за одно подучу ынглиш =)
PM MAIL   Вверх
maxim1000
Дата 10.12.2007, 23:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



слышал о таком способе (сам не пробовал, так что не в курсе, насколько он помогает)

есть у нас A и y
нужно найти x: Ax=y
с помощью процедуры Гаусса находим x'
подставляем её в уравнение: Ax'=y'
из-за погрешностей вычисления у нас x' != x
если A - невырождена (т.е. решение единственно), то y != y'

так вот идея в том, чтобы после этого "подправить" решение
Ax'-Ax=y'-y
A(x'-x)=y'-y
d=x'-x
Ad=y'-y
находим с помощью той же процедуры d (на самом деле это будет d' != d из-за погрешностей)

новое приближение x''=x+d'

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


--------------------
qqq
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

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


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

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


 




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


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

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