Главная » Просмотр файлов » Искусство программирования на Си

Искусство программирования на Си (984073), страница 53

Файл №984073 Искусство программирования на Си (Искусство программирования на Си) 53 страницаИскусство программирования на Си (984073) страница 532015-07-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 53)

меже~в использовать ее в любом разговоре о линейной алгебре, даже если не имеете о ней никакого представ- ления. Однако, квк и во многих рругих элементах мате- матики, это просто общепринятое название. Дпя непосредственного вычисления определителей матричная библиотека не использует свойство умножения строки на константу, в умножает на константу свм определитель. Однако далее в этой <паве определитель тоже косвенно вычисляется в процессе обращения матриц, и далее будет использоваться это его свойство.

сопл!<)Ь РИСУНОК 17.13. Ре<иение с' с<с<я<няню определителя. хв т де1А Таблица 177Е Гауссоао исключение. о этой главе лая решения систем уравнений нс используется подход, изображенный на рис. 17.13, однако в большинстве учебников по линейной алгебре и матрицам рассказывается о рсшснии уравнений именно таким методом. (Нослс этого авторы у <сбников этот метод нс используют, поскольку он малоэффективен.) На рис. 17.14 изображен другой подход к решснию системы уравнсний.

Исходная матрица Если лвс строки матрицы переставляются, то определитель матрицы, полученной в результате такой перестановки, имсст то жс абсолютное значение, что и оригинальная матрица, но знак определителя меняется на противоположный (рис.

17.17). 1.00 5.00 1.00 200 2.00 6.00 3.00 7.00 5.00 -3.00 4.00 8.00 4.00 строка Ос перестановка строк г = (-1) де1 0 0 7.00 3.00 5.00 5.00 1.00 1.00 = ( — 1) 2 3 4 = -24 8.00 4.00 7.00 2.00 4.00 Мз<рнхз Д рознером 2к2 имев ооределн<ень, роений вехнчнне Иногда (особенно в инженерной терминологии) сдиа, з — вози РИСУНОК 17.17.

Определитель матрицы, е которой 2.00 3.00 -3.00 4.00 личная матрица называется унитарной и обозначается иврит Д римером Зхэ нмт< треденн<екь ровный земные строка О, столбец О. Матричная ..! иапо лини днлиннитеимые теиаминегние регланы $ Часть й! — Глава 17 Сушествуст соблазн проигнорировать возможность при расчете определителя точность булат выше. Котла дес = -сев! перестановки строк. Если вы это сделали, то рано илп выполняется перестановка строк для того, чтобы помс- гееокв две; поздно, выполняя эти операции, вы столкнстссь с мат- стить л!аксииа.ьный элелзент из нижней (подаиагоназь- ) рицсй, которая имеет нуль на диагонали и не позволит нои) половины матрицы в положение велушего элсмен- веаг(с чо1О вам работать с треутольной матрицсй (по крайнси морс, та, то такой метод называется га»есава исключение с ВЕЕ 1си ХЕГО(ната!к т и Е, 1ОЕ СО1) без перестановки строк).

Пример такои матрицы разме- частичной максимизацией вед»и(ега злеменгла (Сааза(ап ( ром ЗхЗ изображен на рис. !7.)9. е(гзл(лазал гмт(~ раг!!а! речи! тахглиеаооп). 1вь 1, З; В матричнои библиотеке имеется функция т йе(о оооо[в рзчос, евссок) () () 1 дзя расчета определителя.

Вспомогательные функции 1 1 1 ьзчаргоизо и зе! )озч лего() используются соответствен- 1 2 2 но для перестановки указанной и велушей строк н при- ток (1 = со1; З < Е->со1в; )++) бавляст или вычитает числа ведушей строки, чтобы Е->ча1[вдх(Е, з, 3)! Еассог и Е->ча1[вдх(Е, со1, )!); получить каждый элемент под диагональю в соозвет- Матрица на рис. !7.)9 имеет определитель, равныи ствуюшем столбце равным нулю. -(, но ее нельзя представить в форме диагоназьной или Код приве сн в листинге )7.9; ф кт ч ) треугольной матрицы без перестановки строк. рованис на сингулярность проводится с использованиЕше одна причина перестановки строк — это Увели- ем концепции нормализованного алределиглеля (паггла((еед вгаг(с чозд чение точности.

Если ведуший элемент — это элемент де!елен(линг», о котором буд т а к н в сеген(лил, о котором удет рассказано в слелуюшем в столбце с максимальным абсолютным значением, то ра~д~л~ ( РаЗДЕЛЕ 1вс Матричная ориг/гнет и на Глава 17 Донгннигнегьгеяе теиатичегкиерая)егь я Часть 10 ), то матрица булст плохо обусловленной. Нормалнзо- ОбратНая МатрИца Листинг 17.10. Обращение матрицы. ванный определитель дает возможность более объсктив- илтвгх т * но прслставить, насколько опрслслитсль близок к нулю ПРоцссс вычислениЯ обРатной матрицы очень похо~ на в гпиегне(ИХТВ1Х Т * и, ИХТВ1Х Т ' а, и является ли матрица плохо обусловленной.

Этот метод процесс вычисления опрслелитсля. Обратная матрица допЫе «лег, аопЫе ервз1оп) хор шо работа т в б л шинствс случаев, однако пользо- А опРеделяется как матрица А, которая при Умножс! ( нии на А ласт единичную матрицу (рис. 17.21). Это сшс /* Рассчвтывает обравеннув матрицу с вспользованвем вскпвчении гаусса-диордана с частвчноа ватель должен знать, что иногда даже этот подход может давать обманчивыс результаты. В этих случаях может быть олно исключение из свойств УмножсниЯ матРиц. 1пс гоы, со1, ныар, нхдп; полезна проверка по норме Евклида обратной матрицы РИСУНОКТ)21 допЫе рзиог, е попа; дд-1 д-тд (хотя этот способ нс реализован в нашей матричной Сеайстааоаратнойматричы.

иатвтх т «1 - воььт библиотеке, прилагаемой к этой книге). /*'« Ход проверка овибкв ве показав *«'/ Вернемся к нашей системс линейных уравнений, е поги = в е поги; зьланных в матричной форме (рис. 17.22). «дне = 1.0; )дог<я)/ РИСУНОК 1220. <е! Для рсшсния этого матричного уравнения, сели нам н1дп = 1; тня ет» известна матртша А ', умножаем обе части уравнения нп Норма Евклида. /' разместить 'червовую матрацу для иввертврованвя '/ /„в( А '. Результат показан на рис.

17.23. Итак, сели вы выполняете таким жс образом умножение строки, перестановку строк и исключение внслиагональных элементов лля А и /, то моткетс одноврс- /» установвть целевую матрацу дпи единвчвой матрицы */ Термины Еянлидояы нормы и нормолизоаанный опре- мснно преобразовывать А н / и /в А . Если вы будете А / / А'Е и = в авв1дп 1аеп1111(и)1 делитель — зто немного необычные назяиння;и опять хче, Часть (и ч, зпг гоч, 1пе вчар] ( 1!)! Г->ча1[вдх(Г, виар, 7)] геар; 1)) ч->ча1(вдх(ч, вчар, 1)) гевр; Дотиншнегьные тематическиерая]егы а(инрични«иридькетики 1 Глава 17 йассог ' Г->ча1[вдх(г, со1, 7)]1 РИСУНОК !724. Ошибки в числах с плавающей точкой накапливают ч->ча1(адх(ч, з 1)1 7'еии ние систем и могут маскировать правильные результаты при про(ассах * ч->ча1[вдх(ч, со1, 7)1; АН=Ь ~к=А Ь лингнны«ураенений ведении таких расчетов, как инвертирование (обращс] с ийр имением матрицы.

ние) матрицы. Например, при вы<итаннн двух почти одинаковых чисел в полученном результате теряется 1!маются несколько более прямолинейные методы точность. Таким же образом при сложении и вычитании Бене«с ча)д РСЩСНИЯ Снетсм ЛИНЕИНЫХ )РаВНЕНИИ (Как ГалаРИЛаьн В ДВУЛ ЧИСЕ1, КатаРЫЕ Отпн 1аЮГСЯ На ПОРЯДОК ВЕЗИЧИНЫ, ачарг в (На ача гочв2 Ната1Х 7 * Г, Нагагг Ч * разделе, посвященном определителю). Их основное прс- очень близкой к используемой компилято)юм базовой ( зпс ]1 им« щество заключается в том, гго они позволяют легко и точности, тоже теряется точность. В главе 24 подробно доил)е Геар; непосредственна исправлять возможные ошибки. рассказывается о распространении ошибок в числах с йог (7 а; 1 < Г->со1БГ 1++) фУнкциа Язь|ка С д- Я Решеннл сиате лннс н11« плаваюшеи точкои Геар = Г->ча1[вдх(Г, гоч, ур1лнсний прсдстаазена в листинге !7.)1. Г->ча1(адх(г, гоч, 7)1 Поскольку мы хотим получить от этой функции ПРИМЕЧАНИЕ рсл1гние системы линейных )равнений, та па оканча- Например, если максимальная то~ность чисел состнвпяГевр = ч->чаЦВдх(ч, гоч, ч->ча1[адх(ч, гоч, 7)) нин асчета вычисленная обратная матрнпа нас боль- ет четыре Значащие цифры, то Разница межДУ 100,0 и р шс пе интересует.

1рункция назначает и асваболлает 99,95 '"о'ке' (я знвиси"'ости ог 'о'о, кн» зтн операция выполняется математической библиотекой) давать 0 ипн вр е у руктуру в еченн ю ст укт МАТИ)Х Т для х ансния аб ат- О,1; однако ни то, нн другое нас не устраивает.(Конеч- ) нап матрицы. К тому жс она вызьгваст ф)'нкцию но, можно сделать так, чтобы конкретная магематичесщ йьчегве[), которая также размещает и освобождает кая библиотека могла «ранить допопнитепьны цифры точ- $Щ Дикиекиегьньиые тем итичегл ие ри где»ы Уитричиие ирифыетики » Часть и! Глава 17 ИСПраВЛЕНИЕ ОШИбОК Прн РЕШЕНИИ СИСТЕМ продолжать. В конце концов, в процессе произойдет Листинг 17.12.

Исправление ошибок при решении систем линейных уравнений. линейных уравнений ошибка, вызванная лзльнсйшим уточнснисм. Этот процесс реализует функция С ш есхоие(). в есво1че(нлтвтх т ' х, нлтвтх т * а, нлтвтх т * Если есть подозрение о наличии существенных ошибок Итсрншзи прололжаются до тех пор, пока убывает свк- бопЫе ервз1оп) в решении системы линсиных уравнений. можно при- лидове норма.(В этой фупкпии лля избежания нскон- ( мснить простой итерационный подхол к исправлению тролнрусмых вычислений жестко закодированоограни- /» Реиает линейное уравнение Ах=Ь атвосвтепьно х с обрааением матраца и атератввнмм исправлением этих ошибок.

чснис в 10 итераций. На практике (О нтсрнш»й никогда оиабок»1 нАтв1х т *а1пт = ноььп нс понадобятся, олнако если необходимо увеличить НЛТВХХ т *Ьргзве = НПЬГЫ ПРИМЕЧАНИЕ этот прслсл, цикл гог объединяют с пределом, указан- нлтххх т »ас1 = нпььп значительность ошибки зависит ат того, кто ее апенина- ным в комментарии.) код этой фу кции приВсден В НЛтдхХ т *псих = НОЬЬ; ет. В одних спучзяк 2% точности (ипи меньше) будет (7 (2. нАтд1х т»левад) = нпьш листинге (7.

Характеристики

Тип файла
DJVU-файл
Размер
12,26 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6518
Авторов
на СтудИзбе
302
Средний доход
с одного платного файла
Обучение Подробнее