Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Метод Гаусса-Зейделя(С++).

37K
13 января 2009 года
nevill
4 / / 14.05.2008
Пишу курсовую "решение СЛАУ методом Гаусса-Зейделя" на BC++ 3.1. Подскажите как можно найти ошибку вычисления корней? до сдачи 2 дня всего(:eek:
Код:
void Z::decision()  [COLOR="SeaGreen"]//есть такая функция[/COLOR]
{
   s=0;
   do
    {
     k=0;
     dec_flag=1;

     for(int i=0;i<n;i++)
      {
       X=B*(-1); s++;
       for(int j=0;j<n;j++)
     {
      if(A[j]!=0)
       {X=X+(double)A[j]*Z[j]; s++;}
     }
     if(A!=0)
       {
        if(fabs((double)X/A)>=0.001) k=1;
        X=Z-(double)X/A; s++;
        Z=X;
       }
      }
     if(s==10000) {k=0; dec_flag=0;}
    }
   while(k!=0);
}


[COLOR="Red"]Нарушение, Правила раздела Студентам , пункт 7. Неверное название темы,использование слова "помогите".[/COLOR]
397
13 января 2009 года
SergPas
527 / / 03.02.2007
Цитата: nevill
Пишу курсовую "решение СЛАУ методом Гаусса-Зейделя" на BC++ 3.1. Подскажите как можно найти ошибку вычисления корней? помогите, у кого что есть, до сдачи 2 дня всего(:eek:


А слабо воспользоваться поиском по форуму? Только 3 дня назад ответил на выше поставленный вопрос: вот ссылка. По крайней мере метод Гаусса с выбором главного элемента там реализован.
P.S. Для оформления кода пользуйтесь тегами...

37K
13 января 2009 года
nevill
4 / / 14.05.2008
сам метод гаусса-зейделя написал, не знаю как найти ошибку корней. Ошибки в разных методах находятся одинаково?
397
13 января 2009 года
SergPas
527 / / 03.02.2007
Цитата: nevill
сам метод гаусса-зейделя написал, не знаю как найти ошибку корней. Ошибки в разных методах находятся одинаково?


Что же Вы вводите людей в заблуждение? Если Вам нужно найти погрешность вычислений, то так и говорите. Вообще, для решения СЛАУ существуют 2 группы методов: точные и приближенные. Вот цитата из методички:

Цитата:
Точными методами называются такие методы, которые в предположении, что вычисления ведутся точно (без округлений), приводят к точным значениям неизвестных. Поскольку на практике все вычисления ведутся с округлениями, то и значения неизвестных, полученные точным методом, неизбежно будут содержать погрешности.

Но это уже будут погрешности, накопленные в процессе округления, в отличие от приближённых методов, позволяющих получить решение системы лишь с заданной точностью даже в предположении, что вычисления ведутся без округлений. Вот формулы для вычисления погрешности приближенных методов:
[ATTACH]3337[/ATTACH]
Ещё раз повторяюсь, что в точных методах решения СЛАУ погрешности возникают в результате округления и здесь многое будет зависеть от характеристик машины, на которой выполняется программа. Точность здесь не зависит от самого метода, поэтому он и называется "точным".
P.S. К точным методам относят метод Гаусса с выбором главного элемента, к приближенным - метод Зейделя.

37K
14 января 2009 года
nevill
4 / / 14.05.2008
спасибо за помощь. уже написал))
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог