示例#1
0
        private void OnCalc()
        {
            for (int kf = 1; kf <= GV.nf; kf++)
            {
                GV.s = new Complex(0.0, 2 * 3.141593 * GV.frequences[kf]);
                // Обнуление массива
                for (int i = 0; i <= GV.M; i++)
                {
                    for (int j = 0; j <= GV.M; j++)
                    {
                        GV.w[i, j] = new Complex(0, 0);
                    }
                }

                GV.n = GV.nodesValue;

                //Формирование частных матриц компонентов
                form_d(ref GV.in_r, ref GV.z_r, GV.resistorsValue, 'R');
                form_d(ref GV.in_c, ref GV.z_c, GV.capasitorsValue, 'C');
                form_d(ref GV.in_l, ref GV.z_l, GV.inductorsValue, 'L');
                //Формирование задающего источника

                form_eu();
                form_ei();
                form_oui();
                form_tu();

                form_w();
                form_s();

                if ((GV.lp == 1) && (GV.lm == 0) && (GV.kp == 2) && (GV.km == 0))
                {
                    SF.st();
                    SF.sf1(kf);
                }
                else
                {
                    SF.gauss_c();
                    SF.sf2(kf);
                }
            }

            string str = "";

            str = "Результаты моделирования ";
            richTextBox1.AppendText(str + "\r\n");
            if ((GV.lp == 1) && (GV.lm == 0) && (GV.kp == 2) && (GV.km == 0))
            {
                str = "    f кГц \t kum \t kua \t rim \t ria \t rom \t roa";
                richTextBox1.AppendText(str + "\r\n");
                for (int kf = 1; kf <= GV.nf; kf++)
                {
                    str = String.Format("{0,12:F2}{1,12:E2}{2,12:F2}" +
                                        "{3,12:E2}{4,12:F2}{5,12:E2}{6,12:F2}",
                                        GV.frequences[kf], GV.kum[kf], GV.kua[kf], GV.rim[kf],
                                        GV.ria[kf], GV.rom[kf], GV.roa[kf]);
                    richTextBox1.AppendText(str + "\r\n");
                }
            }
            else
            {
                str = "    f кГц \t kum \t kua \t rim \t ria";
                richTextBox1.AppendText(str + "\r\n");
                for (int kf = 1; kf <= GV.nf; kf++)
                {
                    str = String.Format("{0,12:F2}{1,12:E2}{2,12:F2}" +
                                        "{3,12:E2}{4,12:F2}",
                                        GV.frequences[kf], GV.kum[kf], GV.kua[kf], GV.rim[kf], GV.ria[kf]);
                    richTextBox1.AppendText(str + "\r\n");
                }
            }

            DialogResult res = MessageBox.Show("Выводить результаты в файл?",
                                               "Вывод результатов", MessageBoxButtons.YesNo);

            if (res == DialogResult.Yes)
            {
                WriteOut();
            }
            MessageBox.Show("Выберите в меню дальнейший режим работы",
                            "Режим работы", MessageBoxButtons.OK);
        }
示例#2
0
        private void OnCalc()
        {
            for (int i = 0; i <= GV.M; i++)
            {
                //Обнуление массивов a и b
                for (int j = 0; j <= GV.M; j++)
                {
                    GV.a[i, j] = 0;
                    GV.b[i, j] = 0;
                }
            }
            GV.n = GV.nodesValue;
            for (int kf = 1; kf <= GV.nf; kf++)
            {
                GV.om = 2 * 3.141593 * GV.frequences[kf];
                form_d(ref GV.in_r, ref GV.z_r, GV.resistorsValue, 'R');
                form_d(ref GV.in_c, ref GV.z_c, GV.capasitorsValue, 'C');
                form_d(ref GV.in_l, ref GV.z_l, GV.inductorsValue, 'L');
                //…
                form_w();
                form_s();
                //…
                //Адаптивный расчет передаточных функций
                if ((GV.lp == 1) && (GV.lm == 0) && (GV.kp == 2) && (GV.km == 0))
                {
                    SF.st();
                    SF.sf1(kf);
                }
                else
                {
                    SF.gauss_c();
                    SF.sf2(kf);
                }
            }
            //  Вывод результатов моделирования на экран
            //Вывод результатов моделирования
            string str = "";

            str = "Результаты моделирования ";
            textBox1.AppendText(str + "\r\n");
            if ((GV.lp == 1) && (GV.lm == 0) && (GV.kp == 2) && (GV.km == 0))
            {
                str = "    f кГц \t kum \t kua \t rim \t ria \t rom \t roa";
                textBox1.AppendText(str + "\r\n");
                for (int kf = 1; kf <= GV.nf; kf++)
                {
                    str = String.Format("{0,12:F2}{1,12:E2}{2,12:F2}" +
                                        "{3,12:E2}{4,12:F2}{5,12:E2}{6,12:F2}",
                                        GV.frequences[kf], GV.kum[kf], GV.kua[kf], GV.rim[kf],
                                        GV.ria[kf], GV.rom[kf], GV.roa[kf]);
                    textBox1.AppendText(str + "\r\n");
                }
            }
            else
            {
                str = "    f кГц \t kum \t kua \t rim \t ria";
                textBox1.AppendText(str + "\r\n");
                for (int kf = 1; kf <= GV.nf; kf++)
                {
                    str = String.Format("{0,12:F2}{1,12:E2}{2,12:F2}" +
                                        "{3,12:E2}{4,12:F2}",
                                        GV.frequences[kf], GV.kum[kf], GV.kua[kf], GV.rim[kf], GV.ria[kf]);
                    textBox1.AppendText(str + "\r\n");
                }
            }
            // Вывод результатов расчета в файл
            DialogResult res = MessageBox.Show("Выводить результаты в файл?",
                                               "Вывод результатов", MessageBoxButtons.YesNo);

            if (res == DialogResult.Yes)
            {
                SF.write_out();
            }
            MessageBox.Show("Выберите в меню дальнейший режим работы",
                            "Режим работы", MessageBoxButtons.OK);
        }