Программирование - это просто
Advertisement
Главная arrow Математика и информатика arrow Математическое моделирование (платный раздел) arrow Математическое моделирование. Урок 5. Программа на C# к уроку 4.
23.04.2025 г.
Главное меню
Главная
Интернет магазин
Программные продукты
Биржевые роботы
Искусственный интеллект
Математика и информатика
1С:Предприятие
Уроки C#
Уроки Delphi
Уроки программирования
Web-программирование
Дизайн и графика
Компьютер для блондинок
Исходники
Статьи
Платный раздел
Рассказы про компьютеры
Хитрости и секреты
Системный подход
Размышления
Наука для чайников
Друзья сайта
Excel-это не сложно
Все о финансах
.
Математическое моделирование. Урок 5. Программа на C# к уроку 4. Печать E-mail
Автор megabax   
16.03.2025 г.
New Page 1

Математическое моделирование. Урок 5.  Программа на C# к уроку 4.

Чтобы смотреть урок полностью, подпишитесь на платный раздел.

В платном разделе статья находится здесь.


На прошлом уроке мы разобрали пример задачи на контрольную работу, в которой требовалось рассчитать функцию поведения и меру нечеткости системы. Так как данные задачи встречаются довольно часто при математическом моделировании, то есть смысл автоматизировать их решение. поэтому мы напишем программу на C#, которая выполнит все расчета, что мы производили на прошлом уроке.

Итак, начнем программирование. Сначала создадим базовые классы. ...

...

...

А вот для хранения результатов класс ResDataRow, который унаследует класс InputDataRow, так как в таблице результатов те же поля плюс еще дополнительные:

    /// <summary>

    /// Элемент строки результата статистической таблицы

    /// </summary>

    public class ResDataRow : InputDataRow

    {

 

        /// <summary>

        /// Количество комбинаций переменных данной строки

        /// </summary>

        public int Nc;

 

        /// <summary>

        /// Функция fb(c) для вероятностного подхода

        /// </summary>

        public double probFbc;

 

        /// <summary>

        /// Функция fb(c) для возможностного подхода

        /// </summary>

        public double possFbc;

 

        public override string ToString()

        {

            return base.ToString() + "; " + Nc.ToString() + ", " + probFbc.ToString() + ", " + possFbc.ToString();

        }

       

    }

...

....

... Теперь мы можем задать исходные данные, например, так (как раз тут задан пример прошлого уроке):

            add_row_in_table(2,0,0);

            add_row_in_table(2,1,1);

            add_row_in_table(2,1,1);

            add_row_in_table(2,1,1);

            add_row_in_table(1,2,0);

            add_row_in_table(2,2,0);

            add_row_in_table(0,2,2);

            add_row_in_table(0,1,2);

            add_row_in_table(0,2,2);

            add_row_in_table(2,2,0);

            add_row_in_table(2,2,0);

            add_row_in_table(0,2,0);

            add_row_in_table(1,1,0);

            add_row_in_table(0,0,1);

            add_row_in_table(0,0,2);

            add_row_in_table(1,0,1);

            add_row_in_table(1,0,1);

            add_row_in_table(2,0,0);

            add_row_in_table(0,0,0);

            add_row_in_table(2,2,0);

            add_row_in_table(1,2,1);

            add_row_in_table(0,1,2);

            add_row_in_table(1,1,0);

            add_row_in_table(0,1,2);

            add_row_in_table(2,0,2);

            add_row_in_table(2,0,2);

            add_row_in_table(1, 2, 0);

            add_row_in_table(0,2,2);

            add_row_in_table(1,2,1);

            add_row_in_table(2,0,0);

Ну, и для расчета достаточно вызвать метод calk():

        private void btnTest_Click(object sender, EventArgs e)

        {

            table.calk();

            MessageBox.Show(table.H.ToString() + "; " + table.U.ToString());

        }

И все, проверяем:

Математическое моделирование. Урок 5.  Программа на C# к уроку 4.

Результат почти совпал. Погрешность в пределах одной сотой, это нормально, так как на прошлом уроке мы считали не очень точно, компьютер, безусловно, посчитал точнее.

Итак, подытожим. На прошлом уроке мы решили задачу, а сейчас написали программу для автоматизации решения данной задачи. В будущих уроках при помощи этой программы решим еще несколько подобных задач, исследовав различные модели, естественно, программы мы дообработаем, чтобы было удобнее задавать исходные данные.

 

Последнее обновление ( 16.03.2025 г. )
 
« След.   Пред. »
 
© 2025 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги