Metody numeryczne

Klasa główna programu

using
System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;   namespace Aproksymacja {
   
class Program {
      
static List<Punkt> punkty = new List<Punkt>()
      {
         new Punkt(1, 3), new Punkt(2, 4), new Punkt(3, 5), new Punkt(4, 6)
      
};   static void Main(string[] args)
      
{    Macierz macierz = GenerujMacierz(punkty); Console.WriteLine("{0} {1}\n{2} {3}", macierz.zawartosc[0, 0], macierz.zawartosc[0, 1], macierz.zawartosc[1, 0],             macierz.zawartosc[1, 1]); Console.WriteLine("a: {0}, b: {1}", macierz.wektorWyrazowWolnych[0], macierz.wektorWyrazowWolnych[1]);
         
         
double[] wynik = macierz.Gausse();
         Console.WriteLine("a: {0}, b: {1}", wynik[0], wynik[1]); Console.ReadLine();
      
}   static Macierz GenerujMacierz(List<Punkt> punkty)
      
{
         
int ilosc = punkty.Count;
         
double[,] tymczasowaMacierz = new double[2, 2];
         
double[] tymczasowyWektor = new double[2];
         
double sumaX = 0;
         
double sumaPowX = 0;
         
double sumaY = 0;
         
double sumaXY =0;   foreach(Punkt punkt in punkty)
         
{    sumaX += punkt.x; sumaPowX += punkt.x* punkt.x; sumaY += punkt.y; sumaXY += punkt.x* punkt.y;
        
}
         Console.WriteLine(sumaX); Console.WriteLine(sumaY); Console.WriteLine(sumaPowX); Console.WriteLine(sumaXY);
tymczasowaMacierz[0, 0]= ilosc; tymczasowaMacierz[0, 1]= sumaX; tymczasowaMacierz[1, 0]= sumaX; tymczasowaMacierz[1, 1]= sumaPowX;   tymczasowyWektor[0]= sumaY; tymczasowyWektor[1]= sumaXY;   return new Macierz(2, tymczasowyWektor, tymczasowaMacierz);
      
}
   
}
}
Klasa punktu

using
System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;   namespace Aproksymacja {
   
public class Punkt {
      
public double x;
      
public double y;   public Punkt(double x, double y)
      
{
         
this.x= x;
         
this.y= y;
      
}
   
}
}

Klasa macierzy jest taka sama jak w dziale Eliminacji Gaussa



Dodaj komentarz






Dodaj

© 2013-2024 PRV.pl
Strona została stworzona kreatorem stron w serwisie PRV.pl