Программирование - это просто
Advertisement
Главная arrow Математика и информатика arrow Математическое моделирование (платный раздел). arrow Математическое моделирование. Урок 5. Программа на C# к уроку 4.
19.10.2017 г.
Главное меню
Главная
Системный подход
Интернет магазин
Биржевые роботы
Программные продукты
Математика и информатика
1С:Предприятие
C#, Delphi, VB, F#, Web и пр.
Искусственный интеллект
Услуги
Ча. Во. (FAQ)
Платный раздел
Наука для чайников
Разное
Размышления
Карта сайта
Друзья сайта
Excel-это не сложно
Все о финансах
Математическое моделирование. Урок 5. Программа на C# к уроку 4. Печать E-mail
Автор megabax   
28.01.2016 г.
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.

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

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

 

Последнее обновление ( 01.06.2016 г. )
 
« След.   Пред. »
 
© 2017 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги
Мы принимаем
Банковские карты
Оплатите покупку в интернет-магазине банковскими картами VISA и Mastercard любого банка.
узнать больше
Электронный кошелек
Моментальная оплата покупок с помощью вашего электронного кошелька RBK Money.
узнать больше
Банковский платеж
Оплатите покупку в любом российском банке. Срок зачисления средств на счет - 3-5 рабочих дней.
узнать больше
Денежные переводы
Оплата покупок через крупнейшие системы денежных переводов CONTACT и Unistream.
узнать больше
Почтовые переводы
Оплатите покупку в любом отделении Почты России. Срок зачисления платежа - 3-4 рабочих дня.
узнать больше
Платежные терминалы
Оплата покупок в терминалах крупнейших платежных систем в любом городе России - быстро и без комиссии.
узнать больше