Составить таблицу ступенчатой функции - C#

Узнай цену своей работы

Формулировка задачи:

Составить таблицу ступенчатой функции. 1<=x<=2; dx=0.1; 1<=y<=10; dy=0.5. Определить отклонение q от среднего. Помогите с решением пожалуйста, вот что смог сделать сам
double dx = 0.1;
            double x = 1;
            {
                double dy = 0.5;
                double y = 1;
                {
                    double Z = ((Math.Sin(x) + Math.Cos(y) + 2 / Math.Sin(x) * Math.Cos(y) + 4) + 4);

                    y += dy;
                }
                    while (y <= 10);
                    x += dx;
            }
             while (x <= 2);

Решение задачи: «Составить таблицу ступенчатой функции»

textual
Листинг программы
using System;
using System.Collections.Generic;
using System.Linq;
 
namespace AverageAbsoluteDeviationSample
{
    static internal class Program
    {
        static private void Main()
        {
            // Нижняя и верхняя границы и шаг переменной x.
            double x0 = 1.0; double x1 = 2.0; double dx = 0.1;
            // Нижняя и верхняя границы и шаг переменной y.
            double y0 = 1.0; double y1 = 2.0; double dy = 0.5;
 
            // Значения функции (переменная х принимает одиннадцать значений, переменная у принимает три значения).
            List<double> z = new List<double>((int)(((x1 - x0) / dx + 1) * ((y1 - y0) / dy + 1)));
 
            // Считаем значения функции и выводим результаты.
            Console.WriteLine("-------------------------------------");
            Console.WriteLine("|    x    |    y    |       z       |");
            Console.WriteLine("-------------------------------------");
            for (double x = x0; x < x1 + dx; x += dx)
            {
                for (double y = y0; y < y1 + dy; y += dy)
                {
                    // Замечание: в данном случае знаменатель можно не проверять на нулевое значение, он никогда не
                    // будет равен нулю (см. определение sin и cos).
                    z.Add((Math.Sin(x) + Math.Cos(x) + 2) / (Math.Sin(x) * Math.Cos(x) + 4) + 4);
                    Console.WriteLine("| {0,7:F3} | {1,7:F3} | {2,13:F9} |", x, y, z.Last());
                }
            }
            Console.WriteLine("-------------------------------------" + Environment.NewLine);
 
            // Арифметическое среднее значений функции.
            double zavg = z.Average();
 
            // Среднее абсолютное отклонение значений функции.
            double q = Math.Sqrt(z.Sum(val => (Math.Abs(val - zavg)))) / z.Count;
 
            /*
            // Если предыдущее выражение не совсем понятно, то ниже тоже самое без LINQ.
 
            // Сумма абсолютных отклонений значений функции.
            double qsum = 0;
            for (int i = 0; i < z.Count; ++i)
            {
                qsum += Math.Abs(z[i] - zavg);
            }
            // Среднее абсолютное отклонение значений функции.
            double q = Math.Sqrt(qsum) / z.Count();
            */
 
            Console.WriteLine("Среднее абсолютное отклонение значений функции: " + q.ToString("F9") + Environment.NewLine);
        }
    }
}

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


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

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

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