Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






  • Б. Расчеты выполненные с помощью программы на компьютере.






    Использован язык программирования C# 4.5. Ниже приведен текст программы.

     

    using System;

    namespace Lab4_5

    {

    class Program

    {

    static void Main(string[] args)

    {

    double[] x = {-1.33, -3.84, -3.23, -2.76, -2.22, -1.67, -1.13, -0.6};

    double[] y = {2.25, 2.83, 3.44, 4.31, 5.29, 6.55, 8.01, 10.04};

    double[] u = new double[8];

    double[] v = new double[8];

    int n=8, i;

    // n количество пар в массивах x и y

    double s=0, s1=0, s2=0, s3=0, s4=0, a, b;

    // расчет коэффициентов линейной приближающей функции

    for (i = 0; i < n; i++)

    {

    u[i] = x[i];

    v[i] = y[i];

    s1 = s1 + u[i];

    s2 = s2 + v[i];

    s3 = s3 + u[i]*v[i];

    s4 = s4 + u[i]*u[i];

    }

    s1 = s1 / n; s2 = s2 / n; s3 = s3 / n; s4 = s4 / n;

    a=(s3-s1*s2)/(s4-s1*s1);

    b = s2 - s1 * a;

    for (i = 0; i < n; i++)

    {

    v[i] = a * u[i] + b;

    s = s + (y[i] - v[i]) * (y[i] - v[i]);

    }

    Console.WriteLine(" \nУравнение линейной регреcсии\n");

    Console.WriteLine(" y = {0: #.###} * x + {1: #.###}\n", a, b);

    Console.WriteLine(" Сумма квадратов отклонений = {0: #.###}\n", s);

    Console.Write(" x\t");

    for (i = 0; i < n; i++)

    {

    Console.Write(x[i] + " \t");

    }

    Console.Write(" \ny*\t");

    for (i = 0; i < n; i++)

    {

    Console.Write(" {0: #.###}\t", v[i]);

    }

    s = 0; s1 = 0; s2 = 0; s3 = 0; s4 = 0; a = 0; b = 0;

    Console.Write(" \n");

    // расчет коэффициентов степенной приближающей функции

    for (i = 0; i < n; i++)

    {

    u[i]= Math.Log(x[i]+10);

    v[i] = Math.Log(y[i]);

    s1 = s1 + u[i];

    s2 = s2 + v[i];

    s3 = s3 + u[i] * v[i];

    s4 = s4 + u[i] * u[i];

    }

    s1 = s1 / n; s2 = s2 / n; s3 = s3 / n; s4 = s4 / n;

    a = (s3 - s1 * s2) / (s4 - s1 * s1);

    b = s2 - s1 * a;

    for (i = 0; i < n; i++)

    {

    v[i] = a * u[i] + b;

    v[i] = Math.Exp(v[i]);

    s = s + (y[i] - v[i]) * (y[i] - v[i]);

    }

    Console.WriteLine(" \n\n\nУравнение степенной регресии");

    Console.WriteLine(" \ny = {0: #.###} * x ^ {1: #.###}", Math.Exp(b), a);

    Console.WriteLine(" \nСумма квадратов отклонений = {0: #.###}\n", s);

    Console.Write(" x\t");

    for (i = 0; i < n; i++)

    {

    Console.Write(x[i] + " \t");

    }

    Console.Write(" \ny*\t");

    for (i = 0; i < n; i++)

    {

    Console.Write(" {0: #.###}\t", v[i]);

    }

    Console.Write(" \n");

     

    s = 0; s1 = 0; s2 = 0; s3 = 0; s4 = 0; a = 0; b = 0;

    Console.Write(" \n");

    // расчет коэффициентов показательной приближающей функции

    for (i = 0; i < n; i++)

    {

    u[i] = x[i];

    v[i] = Math.Log(y[i]);

    s1 = s1 + u[i];

    s2 = s2 + v[i];

    s3 = s3 + u[i] * v[i];

    s4 = s4 + u[i] * u[i];

    }

    s1 = s1 / n; s2 = s2 / n; s3 = s3 / n; s4 = s4 / n;

    a = (s3 - s1 * s2) / (s4 - s1 * s1);

    b = s2 - s1 * a;

    for (i = 0; i < n; i++)

    {

    v[i] = a * u[i] + b;

    v[i] = Math.Exp(v[i]);

    s = s + (y[i] - v[i]) * (y[i] - v[i]);

    }

    Console.WriteLine(" \n\n\nУравнение экспоненциальной регресии");

    Console.WriteLine(" \ny = {0: #.###} * e ^ ({1: #.###}*x)", Math.Exp(b), a);

    Console.WriteLine(" \nСумма квадратов отклонений = {0: #.###}\n", s);

    Console.Write(" x\t");

    for (i = 0; i < n; i++)

    {

    Console.Write(x[i] + " \t");

    }

    Console.Write(" \ny*\t");

    for (i = 0; i < n; i++)

    {

    Console.Write(" {0: #.###}\t", v[i]);

    }

    Console.Write(" \n");

    Console.ReadKey();

    }

    }

    }

    Результат выполнения программы в среде Microsoft Visual Studio 2012 Express.

     






    © 2023 :: MyLektsii.ru :: Мои Лекции
    Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
    Копирование текстов разрешено только с указанием индексируемой ссылки на источник.