• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

metoda gaussa-seidla

Object Storage Arubacloud
0 głosów
859 wizyt
pytanie zadane 21 kwietnia 2020 w C i C++ przez dominik195k Obywatel (1,030 p.)

Czesc mam problem z zadaniem, chodzi o rozwiazeni ukladu rownan metoda gaussa-seidla. Gdzies w kodzie jest kod pokazuje mi inne wyniki niz podane w odpowiedziach. 

#include <iostream>
#include <cmath>
#include <math.h>
#include <iomanip>
using namespace std;

int main()
    {
        int i, j, k;
        int iter=10;
        int n=4;
        float sum1, sum2;
        float W[n][n]={{0,0.13,0.065,0.13},{0.065,0,0.195,0.13},{0.195,0.13,0,0.065},{0.13,-0.065,0.195,0}};
 		float Z[n]={-1.4,-2.1,-3,-0.6};
		float X[n]={-0.3,4.2,-4.7,-3.7};
        
        for(k=0;k<iter;k++)
        {
            sum1=0;
            for(j=1;j<n;j++)
            {
                sum1+=W[0][j]*X[j];
            }
            X[0]=sum1+Z[0];
            for(i=1;i<n-1;i++)
            {
                sum1=0;
                for(j=0;j<i-1;j++)
                {
                    sum1+=W[i][j]*X[j];
                }
                sum2=0;
                for(j=i;j<n;j++)
                {
                    sum2+=W[i][j]*X[j];
                }
                X[i]=sum1+sum2+Z[i];
            }
            sum2=0;
            for(j=0;j<n-1;j++)
            {
                sum2+=W[n-1][j]*X[j];
            }
            X[n-1]=sum2+Z[n-1];
            cout << "Iteracja " << k+1 << endl;
            for(i=0;i<n;i++)
            {
                cout << "X[" << i << "]=" << X[i] << " ";
            }
            cout << endl;
        }
                
    return 0;
        }

Prawidlowe wyniki to:

iteracja 1
X0=-1.6405    X1=-3.60413    X2=-4.02893    X3=-1.36464    
iteracja 2
X0=-2.30782    X1=-3.21305    X2=-3.95642    X3=-1.46267    
iteracja 3
X0=-2.26501    X1=-3.20888    X2=-3.9539    X3=-1.45689    
iteracja 4
X0=-2.26355    X1=-3.20754    X2=-3.95307    X3=-1.45662    
iteracja 5
X0=-2.26329    X1=-3.20732    X2=-3.95297    X3=-1.45658    
iteracja 6
X0=-2.26325    X1=-3.2073    X2=-3.95296    X3=-1.45658    
iteracja 7
X0=-2.26325    X1=-3.20729    X2=-3.95296    X3=-1.45657    
iteracja 8
X0=-2.26325    X1=-3.20729    X2=-3.95296    X3=-1.45657    
iteracja 9
X0=-2.26325    X1=-3.20729    X2=-3.95296    X3=-1.45657    
iteracja 10
X0=-2.26325    X1=-3.20729    X2=-3.95296    X3=-1.45657

algorytm:

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
0 odpowiedzi 625 wizyt
pytanie zadane 21 kwietnia 2020 w C i C++ przez dominik195k Obywatel (1,030 p.)
0 głosów
0 odpowiedzi 624 wizyt
pytanie zadane 6 kwietnia 2020 w C i C++ przez dominik195k Obywatel (1,030 p.)
0 głosów
0 odpowiedzi 570 wizyt

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...