Sprawozdanie Thomas, wykłady i notatki, mechatronika, Funkcje sklejane


Piotr Filek gr I

Michał Gil gr 1

METODY NUMERYCZNE

SPRAWOZDANIE NR 3

W sprawozdaniu wykorzystana została metoda dokładnego rozwiązywania układów równań Thomasa dla układów trójprzekątnych.

  1. Algorytm rozwiązywania trójdiagonalnego układu równań o n niewiadomych metodą Thomasa wygląda następująco:

Lista zmiennych: całkowite : n, i

tablice: a[1..n], b[1..n], c[1..n], d[1..n],

x[1..n], β[1..n], γ[1..n]

Podaj n

Dla i := 1, 2, …, n

Podaj ai, bi, ci, di

Oblicz β1 = 0x01 graphic

Oblicz γ1 = 0x01 graphic

Dla i := 2, 3, …, n

Oblicz βi = 0x01 graphic

Oblicz γi = 0x01 graphic

Podstaw xn = γn

Dla := n - 1, n - 2, …, 1

Oblicz xi := 0x01 graphic

Dla i := 1, 2, …, n

Drukuj xi

  1. Implementacja w języku C++ wygląda następująco:

#include <iostream>
#include <stdlib.h>

void oblicz_thomas()
{
int n;
const char * ABCD = "abcd";
double **abcd, *x, *Beta, *Gamma;

cout << "Podaj n: ";
cin >> n;

abcd = new double[4];

for (int i = 0; i <= 3; ++i)
abcd[i] = new double[n];

for (int i=0; i <= 3; ++i)
{
for (int j = 1; j <= n; ++j)
{
cout << "Podaj: " << ABCD[i] << " [" << j << "]";
cin >> abcd[i][j-1];
}
}

Beta = new double[n];
Gamma = new double[n];
Beta[0] = -(abcd[2][0] / abcd[1][0]);
Gamma[0] = (abcd[3][0] / abcd[1][0]);

for (int i = 2; i <= n; ++i)
{
Beta[i-1] = -(abcd[2][i-1] / (abcd[0][i-1] * Beta[i-2] + abcd[1][i-1]));
Gamma[i-1] = (abcd[3][i-1] - abcd[0][i-1] * Gamma[i-2]) / (abcd[0][i-1] * Beta[i-2] + abcd[1][i-1]);
}

x = new double[n];
x[n-1] = Gamma[n-1];

for (int i = n-1; i >=1; --i)
x[i-1] = Beta[i-1]*x[i]+Gamma[i-1];

for (int i = 1; i <= n; ++i)
cout << "i[" << i << "] rowne: " << x[i-1] << endl;

system(„pause”);

for (int i = 0; i <= 3; i++)
delete [] abcd[i];

delete [] abcd;
delete [] x;
delete [] Beta;
delete [] Gamma;
}

  1. Wnioski

Algorytm Thomasa ma duże znaczenie w praktyce inżynieryjskiej, gdyż wiele zadań z dziedziny numerycznego modelowania procesów fizycznych sprowadza się do rozwiązania układów równań.

Zaimplementowany program oblicza układ równań z n-niewiadomymi prawidłowo.



Wyszukiwarka

Podobne podstrony:
Szeregi liczbowe mechatronika, wykłady i notatki, mechatronika, analiza ćwiczenia
na teczke, wykłady i notatki, mechatronika
etykieta GI mechatronika 2011, wykłady i notatki, mechatronika
Interpolacja funkcjami sklejany Nieznany
ALGORYTM MNOŻENIA PISEMNE GO(1), wykłady i notatki, dydaktyka matematyki, matematyka przedszkole i 1
sciąga matka, Politechnika, Sprawozdania, projekty, wyklady, Automatyka
ELEKTRA, Politechnika, Sprawozdania, projekty, wyklady, Elektrotechnika
ToiZ wykład- notatki, nauka - szkola, hasło integracja, rok I, Teoria organizacji i zarządania
zbiory, wykłady i notatki, dydaktyka matematyki, matematyka przedszkole i 1-3
Marketing społeczny notatki z wykładów, notatki - pedagogika, edukacja
04 Sciąga wykładu o pamięci, Wykłady + Notatki
Biomed wykład notatka
Podstawy Zarządzania wykład notatki ręczne 2012 05 05
Interpolacja funkcjami sklejanymi
Socjologia wykład notatki, socjologia
sprawdzzanie osiągnięć(1), wykłady i notatki, dydaktyka matematyki, matematyka przedszkole i 1-3
Materiał2, Politechnika, Sprawozdania, projekty, wyklady, Techniki wytwarzania

więcej podobnych podstron