Приближенное вычисление производной - C#
Формулировка задачи:
Есть производная вида
Мы можем использовать формулу из определения производной, обозначив сколь угодно малую величину через такую же малую величину
h
Тогда мы сможем получить то, что называют the Forward Difference #### Как это реализовать? Пробовал сделать, но не очень понял и вышло что-то на подобии:class Program { static void Main(string[] args) { double x0, X; x0 = Math.Cos(45); Console.WriteLine("Введите Шаг: "); X = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("Ответ: " + Diff(x0, X)); Console.ReadLine(); } static double Diff(double x0, double X) { double r1; double x = x0, h = X; return (Y1(x,h) - Y2(x) / h); } static double Y1(double x0, double X) { double x = x0, h = X; return x+h; } static double Y2(double x0) { double x = x0; return x; } }
Решение задачи: «Приближенное вычисление производной»
textual
Листинг программы
using System; namespace ConsoleApplication207 { internal class Program { private static void Main(string[] args) { //задаем функцию Func<double, double> f = x => Math.Cos(x); //вводим начальную точку Console.Write("Точка X: "); var x0 = double.Parse(Console.ReadLine()); //вводим дельту Console.Write("dX: "); var dx = double.Parse(Console.ReadLine()); //считаем производную в точке var df = Diff(f, x0, dx); Console.WriteLine("Производная: {0:0.000}", df); Console.ReadLine(); } private static double Diff(Func<double, double> f, double x, double dx) { return (f(x + dx) - f(x)) / dx; } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д