Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Решение СЛАУ 
:(
    Опции темы
legi506
Дата 5.6.2014, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 5.6.2014

Репутация: нет
Всего: нет



Добрый день . Прошу в заранее сильно не пинать , я совсем нуб в программировании. Программа решает СЛАУ из 3 уравнений при заданных значениях (по крайней мере подразумевалось что она будет это делать).
Делалось в VisualC 2010.
при запуске возникает ошибка : "Необработанное исключение типа "System.Reflection.TargetInovationE xception" произошло в mscorlib.dll"
Код

private void button1_Click(object sender, EventArgs e)
        {
            Single A, B, C, D, E, F, G, H, I, J, K, L;
            bool Число_ли1 = Single.TryParse(textBox1.Text,
            System.Globalization.NumberStyles.Number,
            System.Globalization.NumberFormatInfo.CurrentInfo, out A);
            
            bool Число_ли2 = Single.TryParse(textBox2.Text,
            System.Globalization.NumberStyles.Number,
            System.Globalization.NumberFormatInfo.CurrentInfo, out B);
            
            bool Число_ли3 = Single.TryParse(textBox3.Text,
            System.Globalization.NumberStyles.Number,
            System.Globalization.NumberFormatInfo.CurrentInfo, out C);
            
            bool Число_ли4 = Single.TryParse(textBox6.Text,
            System.Globalization.NumberStyles.Number,
            System.Globalization.NumberFormatInfo.CurrentInfo, out F);
           
            bool Число_ли5 = Single.TryParse(textBox5.Text,
            System.Globalization.NumberStyles.Number,
            System.Globalization.NumberFormatInfo.CurrentInfo, out E);
           
            bool Число_ли6 = Single.TryParse(textBox4.Text,
            System.Globalization.NumberStyles.Number,
            System.Globalization.NumberFormatInfo.CurrentInfo, out D);
           
            bool Число_ли7 = Single.TryParse(textBox9.Text,
            System.Globalization.NumberStyles.Number,
            System.Globalization.NumberFormatInfo.CurrentInfo, out I);
            
            bool Число_ли8 = Single.TryParse(textBox8.Text,
            System.Globalization.NumberStyles.Number,
            System.Globalization.NumberFormatInfo.CurrentInfo, out H);
           
            bool Число_ли9 = Single.TryParse(textBox7.Text,
            System.Globalization.NumberStyles.Number,
            System.Globalization.NumberFormatInfo.CurrentInfo, out G);
            
            bool Число_ли10 = Single.TryParse(textBox10.Text,
            System.Globalization.NumberStyles.Number,
            System.Globalization.NumberFormatInfo.CurrentInfo, out J);

            bool Число_ли11 = Single.TryParse(textBox11.Text,
            System.Globalization.NumberStyles.Number,
            System.Globalization.NumberFormatInfo.CurrentInfo, out K);

            bool Число_ли12 = Single.TryParse(textBox12.Text,
            System.Globalization.NumberStyles.Number,
            System.Globalization.NumberFormatInfo.CurrentInfo, out L);
            
            if (Число_ли1 == false || Число_ли2 == false || Число_ли3 == false || 
                Число_ли4 == false || Число_ли5 == false || Число_ли6 == false || 
                Число_ли7 == false || Число_ли8 == false || Число_ли9 == false ||
                Число_ли10 == false || Число_ли11 == false || Число_ли12 == false)
            { label11.Text = "Следует вводить числа";
                label11.ForeColor = Color.Red;
                return;
            }




            Type ТипМатЛаб = Type.GetTypeFromProgID("Matlab.Application");
           
            object МатЛаб = Activator.CreateInstance(ТипМатЛаб);
           
            object[] Команды = new Object[] 
                 { "Q = [A B C; F E D; I H G]; L = [J; K; L]; " + 
                                   "X = inv(A)*L % обратная матрица inv" };

            object Результат = ТипМатЛаб.InvokeMember("Execute",
                            BindingFlags.InvokeMethod, null, МатЛаб, Команды);
         
            var p = new ParameterModifier(4);
            p[0] = false; p[1] = false; p[2] = true; p[3] = true;
            ParameterModifier[] mods = { p };
            double[,] X = new double[3, 1];
            object[] Аргументы = new object[] { "X", "base", X, new double[0] };
           
            Результат = ТипМатЛаб.InvokeMember("GetFullMatrix", BindingFlags.
                       InvokeMethod, null, МатЛаб, Аргументы, mods, null, null);
            
            X = (double[,])Аргументы[2];
            string Строка = string.Format("X1 = {0};  X2 = {1};  X3 = {2};",
                                                     X[0, 0], X[1, 0], X[2, 0]);
            MessageBox.Show(Строка);
        }

    }
}

PM MAIL   Вверх
EgoBrain
Дата 6.6.2014, 03:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 537
Регистрация: 23.3.2008
Где: Комната

Репутация: нет
Всего: 2



У тебя программа судя по всему на C#, тебе в другой раздел.

Первое же что выдает Гугл:
 - Создание экземляра класса без дефолтного конструктора не указав параметры.
 - Обращение к неинициализированным переменным.

Решение: проверка на null, првоерка объектов на IsLoaded, обращение в нужных местах когда, когда объекты уже были инициализированы.

З.Ы. Бросай пагубную привычку использовать кириллицу в коде и отладчик на русском.

PM MAIL ICQ Skype   Вверх
legi506
Дата 6.6.2014, 08:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 5.6.2014

Репутация: нет
Всего: нет



Цитата(EgoBrain @  6.6.2014,  03:24 Найти цитируемый пост)
У тебя программа судя по всему на C#, тебе в другой раздел.

Попросил перенести.
Цитата(EgoBrain @  6.6.2014,  03:24 Найти цитируемый пост)
 - Обращение к неинициализированным переменным.

скорее всего именно это т.к когда ввожу числа в матрице в маткада , все работает . Но переменные же вроде инициализированны .
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0630 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.