public static void Solve() { //Создаем экземпляр задачи Лагранжа LagrangeProblem lagrangeProblem = new LagrangeProblem(BuildConditions, ExtractComponents, tLast, initialParameter, analyticalSolutionForInitialParameter, numOfEquations, f, Lambda); //создаем поставщик данных метода IMethodProvider provider = new FileMethodProvider(fileName); //создаем метод из данных, полученных от поставщика Method method = new Method(provider); //найдем начальные условия в задаче Лагранжа, и составим из них задачу Коши CauchyProblemWithFixedParameter cauchyProblem = lagrangeProblem.ConvertToCauchyProblem(epsilon3, parameter, method); //решаем полученную задачу с разной степенью точности Results results1 = cauchyProblem.Solve(method, requiredNumOfPoints, epsilon1); Results results2 = cauchyProblem.Solve(method, requiredNumOfPoints, epsilon2); Results results3 = cauchyProblem.Solve(method, requiredNumOfPoints, epsilon3); //создаем визуализатор результатов в консоль ResultsRenderer renderer = new ConsoleRenderer(); ResultsRenderer rendererTex1 = new LaTeXRenderer("table1.tex"); ResultsRenderer rendererTex2 = new LaTeXRenderer("table2.tex"); ResultsRenderer rendererTex3 = new LaTeXRenderer("table3.tex"); ResultsRenderer rendererTex4 = new LaTeXRenderer("table4.tex"); //выводим результаты в консоль renderer.RenderResults(results1, "Таблица 1."); renderer.RenderResults(results2, "Таблица 2."); renderer.RenderResults(results3, "Таблица 3."); //выводим результаты в tex-файлы rendererTex1.RenderResults(results1, "Таблица 1."); rendererTex2.RenderResults(results2, "Таблица 2."); rendererTex3.RenderResults(results3, "Таблица 3."); //выводим соотношения результатов renderer.RenderResultsRelation(results1, results2, results3, "Таблица 4."); rendererTex4.RenderResultsRelation(results1, results2, results3, "Таблица 4."); //выводим найденные начальные условия Console.WriteLine(); Console.WriteLine("Начальные условия для параметра alpha = {0}:", parameter); Console.WriteLine(cauchyProblem.conditions.y0); //Всё! }
public static void Solve() { //Создаем экземпляр задачи UnknownCondProblem problem = new UnknownCondProblem(BuildConditions, ExtractComponents, tLast, previousStartingPoint, nextStartingPoint, numOfEquations, f, Lambda); //создаем поставщик данных метода IMethodProvider provider = new FileMethodProvider(fileName); //создаем метод из данных, полученных от поставщика Method method = new Method(provider); //найдем начальные условия в задаче, и составим из них задачу Коши CauchyProblemWithFixedParameter cauchyProblem = problem.ConvertToCauchyProblem(epsilon3, parameter, method); //решаем полученную задачу с разной степенью точности Results results1 = cauchyProblem.Solve(method, requiredNumOfPoints, epsilon1, parameter); Results results2 = cauchyProblem.Solve(method, requiredNumOfPoints, epsilon2, parameter); Results results3 = cauchyProblem.Solve(method, requiredNumOfPoints, epsilon3, parameter); //создаем визуализатор результатов в консоль ResultsRenderer renderer = new ConsoleRenderer(); ResultsRenderer rendererTex1 = new LaTeXRenderer("table1.tex"); ResultsRenderer rendererTex2 = new LaTeXRenderer("table2.tex"); ResultsRenderer rendererTex3 = new LaTeXRenderer("table3.tex"); ResultsRenderer rendererTex4 = new LaTeXRenderer("table4.tex"); //выводим результаты в консоль renderer.RenderResults(results1, "Таблица 1."); renderer.RenderResults(results2, "Таблица 2."); renderer.RenderResults(results3, "Таблица 3."); rendererTex1.RenderResults(results1, "Таблица 1."); rendererTex2.RenderResults(results2, "Таблица 2."); rendererTex3.RenderResults(results3, "Таблица 3."); //выводим соотношения результатов renderer.RenderResultsRelation(results1, results2, results3, "Таблица 4."); rendererTex4.RenderResultsRelation(results1, results2, results3, "Таблица 4."); //Всё! }