//public void writeDataZ_resultArray_WithoutNull(string _nameFile) //{ // //Запись данных в файл scilab // DrawGraph graph = new DrawGraph(readTransformData.resultArray, readTransformData.fillArrayX, readTransformData.fillArrayY, _nameFile, readTransformData.Draw); // List<double> arrSwap = new List<double>(); // readTransformData.invertedDataZ(valuesInverted.listArrayResult, arrSwap, readTransformData.oneDimArrayX1.Count, readTransformData.oneDimArrayY1.Count, readTransformData.Draw); // graph.drawGraphInScilab( // findValues.findRWithList(readTransformData.resultArray_WithoutNull, values.listArrayResult), // findValues.findRWithList(readTransformData.resultArray_WithoutNull, arrSwap), // findValues.findRWithList(readTransformData.resultArray_WithoutNull, values.avgArrayResultBetweenTwoList(values.listArrayResult, arrSwap)), // readTransformData.resultArray_WithoutNull, // readTransformData.twoDimArrayX1, // readTransformData.twoDimArrayY1, // readTransformData.oneDimArrayX1, // readTransformData.oneDimArrayY1, // values.listArrayResult, // arrSwap, // values.avgArrayResultBetweenTwoList(values.listArrayResult, arrSwap) // ); //} //public void writeDataZ_resultArray_Approx_Swap(string _nameFile) //{ // //Запись данных в файл scilab // //List<double> arrSwap_ResultArray = new List<double>(); // //readTransformData.invertedDataZ(readTransformData.resultArray, arrSwap_ResultArray, readTransformData.fillArrayX.Count, readTransformData.fillArrayY.Count, (readTransformData.fillArrayY.Count*2)); // DrawGraph graph = new DrawGraph(readTransformData.resultArray, readTransformData.fillArrayX, readTransformData.fillArrayY, _nameFile, (readTransformData.oneDimArrayX1.Count * 2)); // List<double> arrSwap_ListArrRes = new List<double>(); // List<double> arrSwap_ResultArray = new List<double>(); // List<double> arrSwap_ResultArray_Approx = new List<double>(); // List<double> arrSwap_ResultArray_WithoutNull = new List<double>(); // List<double> arrSwap_ResultArray_TDX = new List<double>(); // List<double> arrSwap_ResultArray_TDY = new List<double>(); // //Console.WriteLine(); // //Console.WriteLine("!!!!!!!!!!!!!!!!!!!!!!!!!"); // // Console.WriteLine($"X {readTransformData.oneDimArrayX1.Count} Y {readTransformData.oneDimArrayY1.Count}"); // readTransformData.invertedDataZ(readTransformData.resultArray_NEW, arrSwap_ResultArray, readTransformData.oneDimArrayY1.Count, readTransformData.oneDimArrayX1.Count, (readTransformData.oneDimArrayX1.Count * 2)); // readTransformData.invertedDataZ(valuesInverted.listArrayResult, arrSwap_ListArrRes, readTransformData.oneDimArrayY1.Count, readTransformData.oneDimArrayX1.Count, (readTransformData.oneDimArrayX1.Count * 2)); // readTransformData.invertedDataZ(readTransformData.resultArray_Approx, arrSwap_ResultArray_Approx, readTransformData.oneDimArrayY1.Count, readTransformData.oneDimArrayX1.Count, (readTransformData.oneDimArrayX1.Count * 2)); // readTransformData.invertedDataZ(readTransformData.resultArray_WithoutNull, arrSwap_ResultArray_WithoutNull, readTransformData.oneDimArrayY1.Count, readTransformData.oneDimArrayX1.Count, (readTransformData.oneDimArrayX1.Count * 2)); // readTransformData.invertedDataZ(readTransformData.twoDimArrayX1, arrSwap_ResultArray_TDX, readTransformData.oneDimArrayY1.Count, readTransformData.oneDimArrayX1.Count, (readTransformData.oneDimArrayX1.Count * 2)); // readTransformData.invertedDataZ(readTransformData.twoDimArrayY1, arrSwap_ResultArray_TDY, readTransformData.oneDimArrayY1.Count, readTransformData.oneDimArrayX1.Count, (readTransformData.oneDimArrayX1.Count * 2)); // //Console.WriteLine($"RA {arrSwap_ResultArray.Count} {arrSwap_ListArrRes.Count}"); // graph.drawGraphInScilab_Z_approx_INT( // findValues.findRWithList(arrSwap_ResultArray_Approx, values.listArrayResult), // findValues.findRWithList(arrSwap_ResultArray_Approx, arrSwap_ListArrRes), // findValues.findRWithList(arrSwap_ResultArray_Approx, values.avgArrayResultBetweenTwoList(values.listArrayResult, arrSwap_ListArrRes)), // arrSwap_ResultArray, // arrSwap_ResultArray_Approx, // arrSwap_ResultArray_WithoutNull, // arrSwap_ResultArray_TDX, // arrSwap_ResultArray_TDY, // readTransformData.oneDimArrayX1, // readTransformData.oneDimArrayY1, // arrSwap_ListArrRes, // values.listArrayResult, // values.avgArrayResultBetweenTwoList(values.listArrayResult, arrSwap_ListArrRes) // ); //} public void writeDataZ_resultArray_Approx(string _nameFile) { //DrawGraph graph = new DrawGraph(readTransformData.resultArray, readTransformData.fillArrayX, readTransformData.fillArrayY, _nameFile, readTransformData.Draw); //Console.WriteLine($"X {readTransformData.oneDimArrayX1.Count} Y {readTransformData.oneDimArrayY1.Count}"); DrawGraph graph = new DrawGraph(resultArray, fillArrayX, fillArrayY, _nameFile); List <double> arrSwap = new List <double>(); readTransformData.invertedDataZ(valuesInverted.listArrayResult, arrSwap, readTransformData.oneDimArrayX1.Count, readTransformData.oneDimArrayY1.Count, (readTransformData.oneDimArrayY1.Count * 2)); graph.drawGraphInScilab_Z_approx_WITH_START_PARAM_INT( findValues.findRWithList(readTransformData.resultArray_Approx, values.listArrayResult), findValues.findRWithList(readTransformData.resultArray_Approx, valuesInverted.listArrayResult), findValues.findRWithList(readTransformData.resultArray_Approx, values.avgArrayResultBetweenTwoList(values.listArrayResult, valuesInverted.listArrayResult)), Draw, (readTransformData.oneDimArrayX1.Count * 2), twoDimArrayX1, twoDimArrayY1, oneDimArrayX1, oneDimArrayY1, readTransformData.resultArray, readTransformData.resultArray_Approx, readTransformData.resultArray_WithoutNull, readTransformData.twoDimArrayX1, readTransformData.twoDimArrayY1, readTransformData.oneDimArrayX1, readTransformData.oneDimArrayY1, values.listArrayResult, valuesInverted.listArrayResult, values.avgArrayResultBetweenTwoList(values.listArrayResult, valuesInverted.listArrayResult) ); }
List <double> approximationResultArray(List <double> _resultArray, List <double> _oneDimArrayX1, List <double> _oneDimArrayY1, int _Draw, int _n, ref double _R) { int l = 0; List <double> resApprox = new List <double>(); List <double> tempList = new List <double>(); List <double> listResTemp = new List <double>(); List <double> listArrX1Temp = new List <double>(); List <double> listArrY1Temp = new List <double>(); Data3D data3D; Values values; FindValues_xa_yb_c findValues; int a = 0; listArrY1Temp.Add(_oneDimArrayY1[a]); for (int i = 0; i < _resultArray.Count; i++) { if (l == _Draw / 2) { data3D = new Data3D(listArrX1Temp, listArrY1Temp, tempList); values = new Values(_n, data3D.arrayX.Length, data3D.arrayY.Length); findValues = new FindValues_xa_yb_c(_n, data3D, values); int j = 0; foreach (var item in listResTemp) { if (item <= 0) { findValues.findMassiveYwithX(_oneDimArrayX1[j], _n); resApprox.Add(values.findYMassiveWithX[0]); } else { resApprox.Add(item); } j++; } l = 0; tempList.Clear(); listResTemp.Clear(); listArrX1Temp.Clear(); listArrY1Temp.Clear(); a++; listArrY1Temp.Add(_oneDimArrayY1[a]); } if (_resultArray[i] > 0) { tempList.Add(_resultArray[i]); listArrX1Temp.Add(_oneDimArrayX1[l]); } listResTemp.Add(_resultArray[i]); l++; } data3D = new Data3D(listArrX1Temp, listArrY1Temp, tempList); values = new Values(_n, data3D.arrayX.Length, data3D.arrayY.Length); findValues = new FindValues_xa_yb_c(_n, data3D, values); int k = 0; foreach (var item in listResTemp) { if (item <= 0) { findValues.findMassiveYwithX(_oneDimArrayX1[k], _n); resApprox.Add(values.findYMassiveWithX[0]); } else { resApprox.Add(item); } k++; } data3D = new Data3D(_oneDimArrayX1, _oneDimArrayY1, _resultArray); values = new Values(_n, data3D.arrayX.Length, data3D.arrayY.Length); findValues = new FindValues_xa_yb_c(_n, data3D, values); _R = findValues.findRWithList(resultArray_WithoutNull, resApprox); return(resApprox); }