0 / 0 / 0
Регистрация: 04.02.2010
Сообщений: 5
|
|
1 | |
Решание СЛАУ методом Гаусса в С++05.02.2010, 10:02. Показов 8233. Ответов 13
Метки нет (Все метки)
Салют обитателям форума! Вот значит какое дело, у меня такое задание : "Решение уравнений методом Гаусса. Коэффициенты обрабатываются в двух матрицах: матрице модуля и матрице угла комплексного числа в символической форме."
Пытаюсь делать сам, для начала я разбил исходную матрицу на 2 двумерных массива(модуля и угла); перевел углы в радианы. Тут дело встало, нужно найти максимальный элемент, он как бы один на оба массива, должна быть какая-то формула, а где её взять не представляю. Кто шарит подскажите что за формула, заранее благодарю.
0
|
05.02.2010, 10:02 | |
Ответы с готовыми решениями:
13
СЛАУ методом Гаусса СЛАУ методом Гаусса СЛАУ методом Гаусса СЛАУ методом Гаусса |
12 / 12 / 0
Регистрация: 04.02.2010
Сообщений: 45
|
||||||
05.02.2010, 10:17 | 2 | |||||
Тебе просто максимальный элемент от двумерного массива? Смотри:
0
|
Быдлокодер
512 / 298 / 85
Регистрация: 22.11.2009
Сообщений: 892
|
||||||
05.02.2010, 12:45 | 3 | |||||
JKeeJ1e30, Ужас..
0
|
0 / 0 / 0
Регистрация: 04.02.2010
Сообщений: 5
|
|
05.02.2010, 15:48 [ТС] | 4 |
Да просто найти макс элемент двумерного массива и я могу) Но только для моего задания(см.выше) этот элемент должен находится по какой-то формуле сразу из обоих массивов(массива модуля и массива угла комплексного числа в символической форме)
0
|
Быдлокодер
512 / 298 / 85
Регистрация: 22.11.2009
Сообщений: 892
|
|
05.02.2010, 15:51 | 5 |
Да даже если из двух массивов, в чем проблема?
Находишь максимум в обоих и сравниваешь их
0
|
12 / 12 / 0
Регистрация: 04.02.2010
Сообщений: 45
|
|
05.02.2010, 15:55 | 6 |
Darky, Нах так?! У тебя времени полно?! Подключение доп. функции-это обращение к библиотеке, время работы самой функции и т.д. и т.п. Сортируешь ты с помощью qsort, чтоли?
Георгич, переведи комплексное число в символич вид и найди макс элемент из обеих матриц. Или я что-то недопонял? Объясни по нормальному
0
|
Быдлокодер
512 / 298 / 85
Регистрация: 22.11.2009
Сообщений: 892
|
||||||
05.02.2010, 16:00 | 7 | |||||
JKeeJ1e30, Во-первых, Ваше решение нерационально.
Переменная m вообще нигде не используется, кроме как в нее записывается значение и ничего больше. Во-вторых,
А max_element это проверенный способ, и подключаемая библиотека помогает реализовать множество подобных алгоритмов, не только max_element
0
|
12 / 12 / 0
Регистрация: 04.02.2010
Сообщений: 45
|
|
05.02.2010, 16:08 | 8 |
насчет m правильно заметил-ее нужно во 2 цикле поставить вместо n
cin >>a[1][1](вернее, cin >>a[0][0]. Я никогда проги не писал с первого раза правильно) нужен, чтобы задать начальное значение max(по дефолту ведь он равен нулю, а вдруг у нас матрица вся из сплошь отрицательных элементов? Программа будет работать некорректно. Можно конечно было задать минимальное значение инта, но я его не помню. Можно было двигать единицу по разрядям но это тупо. Добавлено через 1 минуту А про библиотеку я и говорю-подключение ее это дополнительное системное время. Ты ведь, надеюсь, не сортируешь элементы с помощью тупой и медленной qsort?
0
|
0 / 0 / 0
Регистрация: 04.02.2010
Сообщений: 5
|
|
05.02.2010, 17:13 [ТС] | 9 |
Да поймите, что собой представляют эти массивы). Соответствующие числа обоих массивов на самом деле одно и тоже КОМПЛЕКСНОЕ число. Есть фаил, для ввода данных, в этом файле записана СЛАУ, она же матрица. Выглядит матрица примерно так: возьмем матрицу комплексных чисел второго порядка
1 2 1 2 1 2 1 2 1 2 1 2 где 1-действительные части комплексного числа(модуля), их мы путем нехитрого перебора помещаем в созданный нами двумерный массив. 2-мнимая часть,записанная в градусах(угол комплексного числа), заполняем ими второй двумерный массив, и переводим в радианы. Так вот видно что нужно искать не наибольшее в каждом массиве, а потом сравнивать их, а максимум нужно найти один, максимум начальной матрицы, который будет представлен соответствующими элементами обоих массивов. Вроде так должно быть понятнее=) И спасибо тем кто помогает=)
0
|
12 / 12 / 0
Регистрация: 04.02.2010
Сообщений: 45
|
|
05.02.2010, 17:26 | 10 |
Парень, мне 3 года долбали-сначала на физике в школе еще, потом на матане и алгеме-что комплексные числа сравнивать НЕЛЬЗЯ. По каким принципам ты их собираешься сравнивать? Удаленность от точки (0,0)?
0
|
0 / 0 / 0
Регистрация: 04.02.2010
Сообщений: 5
|
|
05.02.2010, 17:39 [ТС] | 11 |
Ну так их и нужно сравнить по отдельности=) Наверно, ы) Я скоро ап стену обьюсь с этой задачей)))
Чтобы решать Гауссом нужно найти максимальный элемент, а как это сделать хз( Рас препод задал, значит решается как-то=)
0
|
12 / 12 / 0
Регистрация: 04.02.2010
Сообщений: 45
|
|
05.02.2010, 17:42 | 12 |
Скажи своему преподу чтобы за учебники садился. Комплексные числа НЕ СРАВНИВАЮТСЯ. В ПРИНЦИПЕ
0
|
2 / 2 / 4
Регистрация: 25.11.2009
Сообщений: 40
|
||||||
05.02.2010, 18:50 | 13 | |||||
0
|
0 / 0 / 0
Регистрация: 04.02.2010
Сообщений: 5
|
||||||
06.02.2010, 18:57 [ТС] | 14 | |||||
я понял что нужно сделать=)
для начала из символьной формы превращаем в алгебраическую вот по таким формулам: Re[i][j]=((Mo[i][j])/(sqrt(tan(Yg[i][j])*tan(Yg[i][j])+1))); Im[i][j]=((Mo[i][j]*tan(Yg[i][j]))/(sqrt(tan(Yg[i][j])*tan(Yg[i][j])+1))); где Re и Im - действительная и мнимая части в алгебраической форме, а Mo и Yg - действительная и мнимая части в символьной форме (они же модуль и угол). А потом для нахождения максимума запускаем цикл и юзаем сею функцию:
темку не закрывайте плиз, а то задача еще не решена. Возникнут по ней еще вопросы, чтобы новую тему не создавать сюда напишу.
0
|
06.02.2010, 18:57 | |
06.02.2010, 18:57 | |
Помогаю со студенческими работами здесь
14
Решение СЛАУ методом Гаусса СЛАУ методом Жордана-Гаусса Решение СЛАУ методом Гаусса Решение СЛАУ методом Гаусса Решение СЛАУ методом Гаусса Решение СЛАУ методом Гаусса, индексы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |