Задача Коши, метод Эйлера, разделить на несколько параллельных потоков - C#
Формулировка задачи:
Вечер добрый, уважаемые. Не могли бы Вы мне помочь? Мне нужно сделать задачу Коши, методом Эйлера на заданном отрезке 0<x=<0.4. И все это нужно как-то разбить на 2/3 параллельных потока. Знаю, что там вроде бы есть метод Parallel и что потока через Thread thread1 = new Thread(function), но как-то не врублюсь как это воедино спрессовать.
Буду очень благодарен. В приложениях я кинул свою прогу.
using System; using System.Collections.Generic; using System.Text; using System.Threading; namespace Koshi { class Program { public static double fun(double x, double y) { return x + y; } static void Main(string[] args) { double b, h, x, y, i, m; string input; string[] par; Console.WriteLine("Input x, b, y0 and value function (m) from space: "); input = Console.In.ReadLine(); par = input.Split(' '); try { x = Convert.ToDouble(par[0]); b = Convert.ToDouble(par[1]); y = Convert.ToDouble(par[2]); m = Convert.ToDouble(par[3]); } catch (Exception e) { Console.WriteLine("Default input value"); x = 0; b = 0.4; y = 1; m = 4; } h = (b - x) / m; Console.WriteLine(" Metod Eiler "); for (i = 0; i < m; i++) { y += h * fun(x, y); Console.WriteLine("x = " + (x + h) + " y = " + y); x += h; } Console.WriteLine(" "); Console.ReadLine(); } } }
Решение задачи: «Задача Коши, метод Эйлера, разделить на несколько параллельных потоков»
textual
Листинг программы
ParallelEnumerable.ForAll(0 , m () => { y += h * fun(x, y); Console.WriteLine("x = " + (x + h) + " y = " + y); x += h; })
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д