public MyFunction(double k, double m, LFI.ElementaryFunction elemFunction, LFI.DerivativeElementaryFunction dElemFunction) { K = k; M = m; ElemFunction = elemFunction; DElemFunction = dElemFunction; }
private void comboBox1_SelectionChangeCommitted(object sender, EventArgs e) { ComboBox comboBox = (ComboBox)sender; if (comboBox.SelectedIndex == 0) { ElemFunction1 = QuadraticFunctionMy; DerivateFunction1 = DerivateQuadFuncMy; X1 = ListOfExtremePointsQuadMy; } else if (comboBox.SelectedIndex == 1) { ElemFunction1 = PowMy; DerivateFunction1 = DerivativePowMy; X1 = ListOfExtremePointsPowMy; } else if (comboBox.SelectedIndex == 2) { ElemFunction1 = Pow; DerivateFunction1 = DerivativePow; X1 = ListOfExtremePointsPow; } else if (comboBox.SelectedIndex == 3) { ElemFunction1 = Cos; DerivateFunction1 = DerivativeCos; X1 = ListOfExtremePointsCos; } }
//---------------------------------------------------------------------------------------------------------// public AgregateOperation(List <double> X11, List <double> KUp11, List <double> KDown11, List <double> MUp11, List <double> MDown11, List <double> X22, LFI.ElementaryFunction Func1, LFI.ElementaryFunction Func2, LFI.DerivativeElementaryFunction DFunc2) { X1 = X11; KUp1 = KUp11; KDown1 = KDown11; MUp1 = MUp11; MDown1 = MDown11; X2 = X22; ElemFunction1 = Func1; ElemFunction2 = Func2; DElemFunction2 = DFunc2; }
public void Sub() { Function = SubFunction; ListUnion(); TransformationOfLists(); for (int i = 0; i < X.Count - 1; i++) { KUp.Add(KUp11[i] - KDown22[i]); KDown.Add(KDown11[i] - KUp22[i]); MUp.Add(MUp11[i] - MDown22[i]); MDown.Add(MDown11[i] - MUp22[i]); } CreatedFLists(); }
// private double K11; // private double K22; // private double M11; // private double M22; //------------------------------------------------------------------------------------------------------------// public ArithmeticOperation(List <double> X11, List <double> KUp11, List <double> KDown11, List <double> MUp11, List <double> MDown11, List <double> X22, List <double> KUp22, List <double> KDown22, List <double> MUp22, List <double> MDown22, LFI.ElementaryFunction Func1, LFI.ElementaryFunction Func2) { X1 = X11; KUp1 = KUp11; KDown1 = KDown11; MUp1 = MUp11; MDown1 = MDown11; X2 = X22; KUp2 = KUp22; KDown2 = KDown22; MUp2 = MUp22; MDown2 = MDown22; ElemFunction1 = Func1; ElemFunction2 = Func2; }
public void Mul()//DataGridView dt, DataGridView dt1, DataGridView dt2, DataGridView dt3,DataGridView dt4) { Function = MulFunction; ListUnion(); TransformationOfLists(); CreatedListsForMultiple(); List <double> X1 = new List <double>(); List <double> X2 = new List <double>(); for (int k = 0; k < X.Count; k++) { X1.Add(X[k]); X2.Add(X[k]); } List <double> KD = new List <double>(); List <double> KU = new List <double>(); List <double> MD = new List <double>(); List <double> MU = new List <double>(); //foreach (var V in X) //{ // dt4.Rows.Add(V.ToString()); //} for (int i = 0; i < X.Count - 1; i++) { if (Math.Round(KoefLFIDown[i][0], 6) != 0 && Math.Round(KoefLFIDown[i][1], 6) != 0) { K1 = KoefLFIDown[i][0]; K2 = KoefLFIDown[i][1]; M1 = KoefLFIDown[i][2]; M2 = KoefLFIDown[i][3]; List <double> ListD = new List <double>() { ExtremePointForParabola() }; LFI LinFuncIntD = new LFI(1, X[i], X[i + 1], ListD, ParabolaFunction, DerivativeParabolaFunction); LinFuncIntD.BuildLFI(); //LinFuncIntD.PaintLFI(chart); for (int j = 1; j < LinFuncIntD.X.Count - 1; j++) { X1.Add(Math.Round(LinFuncIntD.X[j], 10)); } for (int j = 0; j < LinFuncIntD.KDown.Count; j++) { KD.Add(LinFuncIntD.KDown[j]); MD.Add(LinFuncIntD.MDown[j]); } } else { K1 = KoefLFIDown[i][0]; K2 = KoefLFIDown[i][1]; M1 = KoefLFIDown[i][2]; M2 = KoefLFIDown[i][3]; KD.Add(CreateMulK()); MD.Add(CreateMulM()); } //---------------------------------------------------------------------------------------------------------// if (Math.Round(KoefLFIUp[i][0], 6) != 0 && Math.Round(KoefLFIUp[i][1], 6) != 0) { K1 = KoefLFIUp[i][0]; K2 = KoefLFIUp[i][1]; M1 = KoefLFIUp[i][2]; M2 = KoefLFIUp[i][3]; List <double> ListU = new List <double>() { ExtremePointForParabola() }; LFI LinFuncIntU = new LFI(1, X[i], X[i + 1], ListU, ParabolaFunction, DerivativeParabolaFunction); LinFuncIntU.BuildLFI(); for (int j = 1; j < LinFuncIntU.X.Count - 1; j++) { X2.Add(Math.Round(LinFuncIntU.X[j], 10)); } for (int j = 0; j < LinFuncIntU.KUp.Count; j++) { KU.Add(LinFuncIntU.KUp[j]); MU.Add(LinFuncIntU.MUp[j]); } } else { K1 = KoefLFIUp[i][0]; K2 = KoefLFIUp[i][1]; M1 = KoefLFIUp[i][2]; M2 = KoefLFIUp[i][3]; KU.Add(CreateMulK()); MU.Add(CreateMulM()); } } X1.Sort(); X2.Sort(); X.Clear(); //List<double> NewX = new List<double>(); X = X1.Union(X2).ToList(); //X = X.Distinct().ToList(); X.Sort(); //for (int k = 0; k < X1.Count; k++) //{ // dt.Rows.Add(X1[k].ToString()); //} //for (int k = 0; k < X2.Count; k++) //{ // dt1.Rows.Add(X2[k].ToString()); //} //for (int k = 0; k < X.Count; k++) //{ // dt2.Rows.Add(X[k].ToString()); //} for (int i = 0; i < X.Count - 1; i++) { for (int j1 = 0; j1 < X1.Count - 1; j1++) { if (X[i] >= X1[j1] && X[i + 1] <= X1[j1 + 1]) { KDown.Add(KD[j1]); MDown.Add(MD[j1]); } } for (int j2 = 0; j2 < X2.Count - 1; j2++) { if (X[i] >= X2[j2] && X[i + 1] <= X2[j2 + 1]) { KUp.Add(KU[j2]); MUp.Add(MU[j2]); } } } CreatedFLists(); //for (int k = 0; k < KU.Count; k++) //{ // dt3.Rows.Add(KU[k].ToString(), MU[k].ToString());//,KDown[k].ToString(), MDown[k].ToString()); //} }