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

question-closed metoda gaussa-seidla

VPS Starter Arubacloud
0 głosów
611 wizyt
pytanie zadane 21 kwietnia 2020 w C i C++ przez dominik195k Obywatel (1,030 p.)
zamknięte 22 kwietnia 2020 przez dominik195k

Czesc, mam za zadanie napisac program ktory uklad rownan metoda gaussa-seidla.

#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;
        }

Napisalem taki kod, ale wyniki jakie daje nie zgadzaja sie z odpowiedziami w zadaniu. Ktos widzi gdzie jest blad?

 

Prawidlowe wyniki:
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    

 

komentarz zamknięcia: Przypadkiem stworzylem drugie takie samo

Podobne pytania

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

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...