public void ReadDataPoints(string path) { List<string> list = new List<string>(); List<string> x = new List<string>(); List<string> y = new List<string>(); StreamReader Read; string[] array1; int i = 0; Read = new StreamReader(path); //leyendo datos de archivo while (!Read.EndOfStream) //guardando valores en un nueva archivo (incluyendo tabs) { list.Add(Read.ReadLine()); i++; } Read.Close(); Form1 format = new Form1(); data.Add(op1); //Guardando si se desea lagrange data.Add(op2); //Guardando si se desea Cubic data.Add(Convert.ToString(list.Count())); //Guardando # puntos InterpolatingData sp = new InterpolatingData(); data.Add(num); //Guardando punto a evaluar for (int k = 0; k < list.Count; k++) { array1 = list[k].Split('\t'); //Separando datos en un arreglo x.Add(array1[0]); //Almacenando valores de X xx.Add(double.Parse(array1[0])); y.Add(array1[1]); //Almacenando valores de Y } foreach (string dat in x) { data.Add(dat); } foreach (string dat in y) { data.Add(dat); } //Construyendo una string para ser enviada. StringBuilder builder = new StringBuilder(); foreach (string value in data) { builder.Append(value).Append("|"); //separando elementos por | } result= builder.ToString(); }
public void runExecute() { //Revisando checkboxes InterpolatingData data = new InterpolatingData(); data.op1 = (checkBox1.Checked == true) ? "lagrange" : "N/A"; data.op2 = (checkBox2.Checked == true) ? "cubic" : "N/A"; checkb = (checkBox3.Checked == true) ? "graficar" : "N/A"; data.num = textBox1.Text; //Guardando ruta*/ filepath = openFileDialog1.FileName; //Leer datos archivo data.ReadDataPoints(filepath); //Estableciendo conexion Client_A CallServer = new Client_A(); CallServer.data = data.result; CallServer.ClientCon(); //Preparando resultados data.dataResult = CallServer.data; data.PrepareResults(); //ETAPA DE LA GRAFICA if (data.op1 == "lagrange" && data.op2 == "no" && checkb == "graficar") { MessageBox.Show("No hay grafica disponible para el metodo lagrange"); } label2.Text = "Lgr f(" + data.num + ") =" + data.lgr; label5.Text = "CS f(" + data.num + ") =" + data.cs; button1.Visible = false; if (checkb == "graficar" && data.op2 == "cubic") { GnuPlot.WriteLine("set term png"); GnuPlot.WriteLine(@"set output 'c:\users\franciscojavier\desktop\interpolation.png'"); data.range(); GnuPlot.WriteLine("set xrange ["+data.r1+":"+data.r2+"]"); // GnuPlot.WriteLine(""); GnuPlot.Plot(data.ec); GnuPlot.WriteLine("quit"); System.Threading.Thread.Sleep(500); filepath = (@"C:\Users\FranciscoJavier\Desktop\interpolation.png"); this.pictureBox1.Image = Image.FromFile(filepath); } MessageBox.Show("La ecuación es: " + data.ec); }