Приближенное вычисление производной - 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;
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.556 из 5
Похожие ответы