You are on page 1of 3

using System;

namespace Regresionpolinomial
{
class Program
{

static void Main()


{
// Datos de entrada
System.Console.WriteLine(" Regresi�n polinomial");
Console.WriteLine();
System.Console.WriteLine("�Cual es el grado del polinomio al que desea
ajustar la curva?");
string h = Console.ReadLine();
int grado = int.Parse(h);
Console.WriteLine();
System.Console.WriteLine("�Cuantas parejas de datos va a ingresar?");
string l = Console.ReadLine();
int dat = int.Parse(l);
System.Console.Clear();
Console.WriteLine();

//Datos de la primera columna


System.Console.WriteLine("Ingresa el nombre de la primera columna de
datos");
string n = Console.ReadLine();
Double[] a = new double[dat];

for (int f = 0; f < dat; f++)


{
System.Console.Clear();
Console.WriteLine("Ingrese el valor " + (f + 1) + " de la columna "
+ n + ":");
String linea;
linea = Console.ReadLine();
a[f] = double.Parse(linea);
}
System.Console.Clear();

//Datos de la segunda columna


System.Console.WriteLine("Ingresa el nombre de la segunda columna de
datos");
string m = Console.ReadLine();
Double[] b = new double[dat];

for (int f = 0; f < dat; f++)


{
System.Console.Clear();
Console.WriteLine("Ingrese el valor " + (f + 1) + " de la columna "
+ m + ":");
String linea;
linea = Console.ReadLine();
b[f] = double.Parse(linea);

}
System.Console.Clear();
//Impresi�n de tabla
Console.WriteLine("{0,6} {1,20}",n,m) ;
for (int f = 0; f < dat; f++)
{
Console.WriteLine("{0,6} {1,20}", a[f], b[f]);
}

double[,] elementos = new double[grado+1, grado+1];


double[] igual = new double[grado+1];

Console.WriteLine();
//Matriz de coeficientes
for (int f = 0; f <= grado; f++)
{
for (int c = 0; c <= grado; c++)
{
for (int d = 0; d < dat; d++)
{
if (f == 0 && c == 0)
{
elementos[f, c] = dat;
igual[f] = igual[f] + b[d];
}
if (f == 0 && c > 0)
{
elementos[f, c] = elementos[f, c] + Math.Pow(a[d], c);

}
if (f > 0)
{
elementos[f, c] = elementos[f, c] + Math.Pow(a[d], (c +
f));
if (c == f)
{
igual[f] = igual[f] + (Math.Pow(a[d], f) * b[d]);
}
}
}
}
}

//Impresi�n de matriz de coeficientes


Console.WriteLine("Matriz de coeficientes");
for (int f = 0; f < elementos.GetLength(0); f++)
{
for (int c = 0; c < elementos.GetLength(1); c++)
{
Console.Write(" "+ elementos[f, c] + " ");
}
Console.WriteLine();
}

Console.WriteLine();
//Vector igualdad
Console.WriteLine("Vector igualdad");
for (int f = 0; f < grado+1; f++)
{
Console.WriteLine(igual[f]);
}

Console.ReadKey();
}
}

You might also like