static void Main(string[] args) { //Reader.CacheAdd("2 4 2 = 4 2 2 = 2 2 -1 = 1 0 1"); //skriptovy priklad //Reader.CacheAdd("-5 4 1 / -7 6 1 / 4 -4 -2 / 1 2 1"); Reader.CacheAdd("0 0 0.33333333 0 0 0 / 0.5 0 0.3333333 0 0 0 / 0.5 0 0 0 0 0.5 / 0 0 0 0 0 0.5 / 0 1 0.3333333 0.5 0 0 / 0 0 0 0.5 1 0 / 1 0 1 0 1 0 "); int N = 6; A = new double[N, N]; for (int i = 0; i < N*N; i++) A[i % N, i / N] = Reader.ReadDouble(); double[] pom = new double[N]; for (int i = 0; i < N; i++) pom[i] = Reader.ReadDouble(); Vektor x = new Vektor(pom); Vektor xprev = x; Vektor y; Console.Write("{0} : (", 0); x.Vypis(); Console.Write(") -"); Console.WriteLine(); for (int i = 0; i < 20; i++) { y = Pocitej.NasobeniMaticeVektorem(A, x); x = y.Clone(); Pocitej.JednotkovaVelikost(x); Console.Write("{0} : (", i+1); x.Vypis(); Console.Write(") {0}", String.Format("{0:0.###}", Pocitej.SkalarniSoucin(xprev, y))); Console.WriteLine(); xprev = x; } }
static void Main(string[] args) { Reader.CacheAdd("2 4 2 = 4 2 2 = 2 2 -1 = 1 0 1"); //skriptovy priklad //Reader.CacheAdd("-5 4 1 / -7 6 1 / 4 -4 -2 / 1 2 1"); A = new int[3, 3]; for (int i = 0; i < 9; i++) A[i % 3, i / 3] = Reader.ReadInt(); double[] pom = new double[3]; for (int i = 0; i < 3; i++) pom[i] = Reader.ReadInt(); Vektor x = new Vektor(pom); Vektor xprev = x; Vektor y; Console.Write("{0} : (", 0); x.Vypis(); Console.Write(") -"); Console.WriteLine(); for (int i = 0; i < 20; i++) { y = Pocitej.NasobeniMaticeVektorem(A, x); x = y.Clone(); Pocitej.JednotkovaVelikost(x); Console.Write("{0} : (", i + 1); x.Vypis(); Console.Write(") {0}", String.Format("{0:0.###}", Pocitej.SkalarniSoucin(xprev, y))); Console.WriteLine(); xprev = x; } }
public void Pricti(Vektor x) { for (int i = 0; i < pole.Length; i++) { pole[i] += x.pole[i]; } }
public void Odecti(Vektor x) { for (int i = 0; i < pole.Length; i++) { pole[i] -= x.pole[i]; } }
public static Vektor OdectiVektory(Vektor x, Vektor y) { for (int i = 0; i < x.pole.Length; i++) x.pole[i] -= y.pole[i]; return x; }
public static void JednotkovaVelikost(Vektor x) { double velikost = x.pole.Max();//.AbsolutValue(); for (int i = 0; i < x.pole.Length; i++) { x.pole[i] = (x.pole[i] / velikost); } }
public static double SkalarniSoucin(Vektor x, Vektor y) { double suma = 0; for (int i = 0; i < x.pole.Length; i++) { suma += x.pole[i] * y.pole[i]; } return suma; }
public static Vektor OdectiVektory(Vektor x, Vektor y) { for (int i = 0; i < x.pole.Length; i++) { x.pole[i] -= y.pole[i]; } return(x); }
public static void JednotkovaVelikost(Vektor x) { double velikost = x.AbsolutValue(); for (int i = 0; i < x.pole.Length; i++) { x.pole[i] = (x.pole[i] / velikost); } }
public static double SkalarniSoucin(Vektor x, Vektor y) { double suma = 0; for (int i = 0; i < x.pole.Length; i++) { suma += x.pole[i] * y.pole[i]; } return(suma); }
public static Vektor NasobeniMaticeVektorem(int[,] A, Vektor x) { Vektor y = new Vektor(new double[3] { 0, 0, 0 }); for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { y.pole[i] += A[j, i] * x.pole[j]; } } return y; }
public static Vektor NasobeniMaticeVektorem(double[,] A, Vektor x) { Vektor y = new Vektor(new double[x.pole.Length]); for (int i = 0; i < x.pole.Length; i++) { for (int j = 0; j < x.pole.Length; j++) { y.pole[i] += A[j, i] * x.pole[j]; } } return(y); }
public static Vektor NasobeniMaticeVektorem(double[,] A, Vektor x) { Vektor y = new Vektor(new double[x.pole.Length]); for (int i = 0; i < x.pole.Length; i++) { for (int j = 0; j < x.pole.Length; j++) { y.pole[i] += A[j, i] * x.pole[j]; } } return y; }
public static Vektor NasobeniMaticeVektorem(int[,] A, Vektor x) { Vektor y = new Vektor(new double[3] { 0, 0, 0 }); for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { y.pole[i] += A[j, i] * x.pole[j]; } } return(y); }
static void Main(string[] args) { //Reader.CacheAdd("2 4 2 = 4 2 2 = 2 2 -1 = 1 0 1"); //skriptovy priklad //Reader.CacheAdd("-5 4 1 / -7 6 1 / 4 -4 -2 / 1 2 1"); Reader.CacheAdd("0 0 0.33333333 0 0 0 / 0.5 0 0.3333333 0 0 0 / 0.5 0 0 0 0 0.5 / 0 0 0 0 0 0.5 / 0 1 0.3333333 0.5 0 0 / 0 0 0 0.5 1 0 / 1 0 1 0 1 0 "); int N = 6; A = new double[N, N]; for (int i = 0; i < N * N; i++) { A[i % N, i / N] = Reader.ReadDouble(); } double[] pom = new double[N]; for (int i = 0; i < N; i++) { pom[i] = Reader.ReadDouble(); } Vektor x = new Vektor(pom); Vektor xprev = x; Vektor y; Console.Write("{0} : (", 0); x.Vypis(); Console.Write(") -"); Console.WriteLine(); for (int i = 0; i < 20; i++) { y = Pocitej.NasobeniMaticeVektorem(A, x); x = y.Clone(); Pocitej.JednotkovaVelikost(x); Console.Write("{0} : (", i + 1); x.Vypis(); Console.Write(") {0}", String.Format("{0:0.###}", Pocitej.SkalarniSoucin(xprev, y))); Console.WriteLine(); xprev = x; } }
static void Main(string[] args) { Reader.CacheAdd("2 4 2 = 4 2 2 = 2 2 -1 = 1 0 1"); //skriptovy priklad //Reader.CacheAdd("-5 4 1 / -7 6 1 / 4 -4 -2 / 1 2 1"); A = new int[3, 3]; for (int i = 0; i < 9; i++) { A[i % 3, i / 3] = Reader.ReadInt(); } double[] pom = new double[3]; for (int i = 0; i < 3; i++) { pom[i] = Reader.ReadInt(); } Vektor x = new Vektor(pom); Vektor xprev = x; Vektor y; Console.Write("{0} : (", 0); x.Vypis(); Console.Write(") -"); Console.WriteLine(); for (int i = 0; i < 20; i++) { y = Pocitej.NasobeniMaticeVektorem(A, x); x = y.Clone(); Pocitej.JednotkovaVelikost(x); Console.Write("{0} : (", i + 1); x.Vypis(); Console.Write(") {0}", String.Format("{0:0.###}", Pocitej.SkalarniSoucin(xprev, y))); Console.WriteLine(); xprev = x; } }
public Vektor Clone() { Vektor vratit = new Vektor((double[])this.pole.Clone()); return(vratit); }
public Vektor Clone() { Vektor vratit = new Vektor((double[])this.pole.Clone()); return vratit; }
public void Odecti(Vektor x) { for (int i = 0; i < pole.Length; i++) { pole[i] -= x.pole[i]; } }
public void Pricti(Vektor x) { for (int i = 0; i < pole.Length; i++) { pole[i] += x.pole[i]; } }