Написать программу табулирования произвольной функции на отрезке [a, b] с шагом h - C#
Формулировка задачи:
Помогите пожалуйста((((
Написать программу табулирования произвольной функции на отрезке [a , b] с шагом h.
Использовать делегат для задания вида табулируемой функции. В программе определить не менее 3-х функций.
Вот есть одна функция:
Правильно? и какие еще 2 функции можно написать?
static Dictionary<float, float> GetFunctionTabulation(Func<float, float> function, float from, float to, float step)
{
var result = new Dictionary<float, float>();
for (var i = from; i < to; i += step)
{
result.Add(i, function(i));
}
return result;
}Решение задачи: «Написать программу табулирования произвольной функции на отрезке [a, b] с шагом h»
textual
Листинг программы
using System;
namespace lab
{
class Program
{
static void Main(string[] args)
{
Console.Write("a->");
double a = double.Parse(Console.ReadLine());
Console.Write("b->");
double b = double.Parse(Console.ReadLine());
Console.Write("h->");
double h = double.Parse(Console.ReadLine());
Tab(f1, a, b, h);
Tab(f2, a, b, h);
Tab(f3, a, b, h);
Console.ReadLine();
}
public delegate double F(double x);
static void Tab(F f, double a, double b, double h)
{
for (double i = a; i <= b; i += h)
Console.WriteLine("f({0}) = {1}", i, f(i));
}
static double f1(double x)
{
return x * x + 1 - 2 * x;
}
static double f2(double x)
{
return x + Math.Log(x * x);
}
static double f3(double x)
{
return Math.Abs(x) / 10 + Math.Sin(x);
}
}
}