Главная » Просмотр файлов » Говорухин В., Цибулин Б. Компьютер в математическом исследовании

Говорухин В., Цибулин Б. Компьютер в математическом исследовании (1185927), страница 81

Файл №1185927 Говорухин В., Цибулин Б. Компьютер в математическом исследовании (Говорухин В., Цибулин Б. Компьютер в математическом исследовании.djvu) 81 страницаГоворухин В., Цибулин Б. Компьютер в математическом исследовании (1185927) страница 812020-08-25СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Окно редактора-отладчика мешт (2 файла) Рис. 16.2. Командное окна На рис. 16.1 дано окно редактора тпеИ2 с ю-функцией 1огл и файлом сценария ).ог гоп.в, содержащим команды ввода параметров и обращение к функции 1аг. Окно с файлом 1оглп находится слева, в нем точка останова помечена кружком. Эта точка пройдена, на что указывает стрелка «вниз» иа строке файла 1ог.а, но режим отладки пока не переместился в файл ).ог гипдп, так как выделена заклалка с име- зффеитивность программ и профилер п»файлов 431 нем файла (от. гп в строке состояния (нижняя часть окна п)ей(г) и в окне 51асК стоит имя 1ог. Обратим также внимание на прямоугольник с содержимым переменной у (вектора-столбца) в подокне с текстом файла Еог гоп.)п. В процессе отладки можно узнать компоненты любой матричной переменной, наведя мышь на идентификатор этой переменной в окне редактора глейй.

На рис. 16 2 приведено окно МАТ1 АВ, содержащее вызов файла сценария Еог гоп,п), результат задания переменной 5(дп)а и вывод отладочных значений переменных Ь и г. В режиме отладки приглашение командной строки имеет вид Х» и содержимое любой переменной может быть выведено простым указанием нужного имени и нажатием клавиши Ептег. На рис. 1б 2 было выведено значение переменной 5(дп)а, так как вывод на экран не был подавлен в тексте файла Еог гипзв (операция присваивания закончилась запятой). Эффективность программ и профилер т-файлов При разработке достаточно больших программ, состоящих нз нескольких функций, возникает необходимость оптимизации кода. Для этого важно знать, выполнение каких функций, а также каких их участков требует наибольших затрат времени. Здесь могут быть использованы счетчик числа операций, команды, оперирующие со временем, и, наконец, профилер и)-файлов.

Простейший способ оценить объем вычислений предоставляет команда 71срз, обращение к которой без параметров выводит число выполненных операций, а вызов т)орз(0) обнуляет счетчик числа операций. Это довольно грубый способ оценки быстродействия, что показывает следующий пример: » Г1ора(0), Гог К=):7"7, »7п(К); епл. Г)ора апа- 823545 Тот же результат будет получен, если вычисление синуса заменить сложением це- лых чисел: » Г1ора(0), Гог К-1 7 7. К+1: епл, Г)ора апа- 823545 Имеющиеся в МАТ(.АВ команды работы со временем и датами позволяют оценить время расчета отдельных фрагментов кода.

Команда г(с обнуляет время, а гос замеряет прошедшее с момента выполнения г(с время. Применим эти команды для оценки времени выполнения двух циклов, различающихся тем, что в теле первого вычисляется синус переменной цикла, тогда как второй цикл просто прибавляет единицу к переменной цикла: » Ыс, Гог К 1:7"7, а(п(К);епс, тос е1араес Ыие- 8.57ООе+000 » Юс. Гог К-)о 7 7, К+1:ЕПО, тос аа32 Глава 16. Программирование в ИАГ[лВ е1арпео 1]ве- 8.1300е«000 Команда срнгтпе подсчитывает процессорное время с момента запуска сеанса.

Кроме того, имеются команды 01осс, е[1ае, 00[е для получения соответственно вектора- строки с данными (год, месяц, день, час, минуты, секунды), определения длительности временного промежутка между двумя моментами времени и вывода символьной строки (день-месяц — год). Чтобы повысить зффективность вычислений, нужно знать, какие операции какое время расходуют. Для етого в МАТ[.АВ имеется программа профилер. По умолчанию профилер собирает информацию по в- и вех-файлам, а также подфункциям. Рассмотрим работу профилера на примере анализа времени решения системы Лоренца, см.

главу 15 «Численный анализ в МАТ1.АВ». Запустим профилер с параметром -де[011 0011110, чтобы собирать статистику также по встроенным (0011010) функциям: » рготт1е оп -бегат! Ьот1мп -Птттогт Затем выполним пт-файл: » [Т.'т]"опе45[ "1ог". (О 5], [О 1 1]. [].10.25,8/31; Сгенерируем отчет: » ргоГ11е герогт Рис. 16.3. Начало отчета профилера Эффективность программ и профилер м-файлов е33 При этом в окне Интернет-браузера появится НТМЕ-файл с отчетом, см. рис. 16.3. На рис. 16.3 приведено гипертекстовое окно с результатами работы профилера.

Пользуясь гиперссылками, можно выяснить подробности проведенного анализа (число обращений к функциям, потраченное время и т. д.). Например, можно получить данные о затраченном времени, числе обращений, среднем времени на обращение и другую информацию для функции 1ог, см, рис.16,4. Вновь запустим профилер без очистки полученной статистики: » рготт1е гевоме Профилер готов продолжать собирать данные по другим функциям. Новые данные будут добавлены к полученным ранее.

Сбор статистики завершается, и работа профилера прекращается по команде » ргот11е отт Распечатать результат можно, отправив на печать файл из браузера или выполнив команду » рготт1е герогт ИАМЕ Здесь нйИŠ— имя НТМт.-файла, в котором будет сохранена статистика, собранная профилером. В версии МАТЮКАВ 6 команды профилера остались такими же, как в версии 5.3. Рис. 1б.б. Фрегиент отчета профилере 434 Глава 16. Программирование в ИАТСАВ 'азработка тех-файлов Для ускорения вычислений в МАТЕАВ можно использовать шех-файлы — написанные на С или Фортране и откомпилированные процедуры.

Тексты на языке МАТЕАВ (файлы с расширением гп) машинно-независимы, а подготовленные для одной платформы 1пех-файлы (Мат]а]э ЕХгегпа1) должны быть откомпилированы заново при переходе к другой среде. Для каждой из платформ подготовленные п]ехфайлы имеют свое расширение, например: б!! для%г!пг]ов з, п1ех]х для Е!ппх, п]ехво! для Яо!аг!з, ]леха!р для А!рЬа. Вызываются п1ех-файлы как обычные п1-файлы, причем если интерпретатору встретилось некоторое имя функции, то вначале ищется шех-файл с этим именем в каталогах, определенных списком МАТсАВ веагсп раг]1, и только при его отсутствии начинается поиск щ-файла.

Программирование п1ех-файлов заключается в написании процедур на С или Фортране и подготовке переходного блока для получения данных из среды МАТ!.АВ и возвращения результата. МАТЕАВ оперирует с массивами, поэтому все переменные — скаляры, векторы, матрицы, строки, массивы ячеек, структуры и объекты — реализованы в виде массивов. В программе на С массив МАТ!.АВ должен быть объявлен типом п1хАггау, в нем будут содержаться размерности, сами данные, сведения об их типе (вещественные или комплексные), индексы ненулевых элементов для разреженных (Враг 5е) матриц, число полей и их имена для структуры и объекта.

Заметим, что из п1-файла при помощи имеющегося в МАТ].АВ компилятора 1сс можно приготовить текст на языке С, что обсуждается в следующем разделе. При подготовке гпех-файлов следует определить используемый компилятор, для чего надо выполнить команду » пех -ветер Если на машине установлено несколько компиляторов, то МАТЕАВ предложит выбрать, какой из них будет использоваться далее для компиляции. Например, если на машине установлен только компилятор Вог! апб С/С++, то будет предложен следующий выбор: 5е1есв а соерв1ег: Г1] Вог!апе С/С»» еегв!оп 5.02 вп С:1ВСВ (2] Ссс С еегв1оп 2.4 1п С:!МАТ]АВВ121еуе11сс ГО] ноле Соар11ег: Здесь ]сс — собственный компилятор МАТ1.АВ.

Для компиляции текстов на Фортране также следует определить соответствующий компилятор. В комплекте поставки МАТЕАВ имеются примеры оформления п1ех-файлов. Так, в подкаталоге ~ехтегп~ехагпр!ев~п1ех находятся файлы на С (урпп1е.с) и Фортране (урпгпейб ург!п1е(д.0. Чтобы запустить компиляцию примера на С, надо перейти в подкаталог с примером и вызвать команду мех. Например, чтобы откомпилировать функцию ург1вы.с, выполним следующие команды: Разработка птех-файлов 435 сод [ад(1авгоот "ЧехтегФехвар1ез)аех"]) аех ургтае.с Взаимодействие интерпретатора с гпех-файлом осуществляется следующим обра- зом. Пусть тыпс — а-функция, которая должна быть реализована в виде гпе-ффайл. Обращение [С,О]-(опс(А.В) 1и: п1ьз, ахА"гву *"1ЬвП .

,ПС ПГПВ, СОПЗ( аХАГ«ау *ртпз П Переменные 01ПВ и ргпз есть векторы, содержащие указатели на выходные и вход- ные параметры. Чтобы воспринять входные данные, следует обратиться к функ- ции ахмет и использовать указатели рсва[0], ргпз[П и т. д. В случае скалярной переменной можно работать непосредственно с ее значением, получить которое позволяет функция ахйесьса1аг.

Для оформления возвращаемых параметров нуж- но использовать функцию ахСгеасе. Для компиляции гпех-функции с//сдует запустить команду аех. При обнаружении компилятором ошибки будет выведено диагностическое сообщение н указан но- мер ошибочной строки. В случае нормального завершения компиляции появится файл с именем исходного файла и расширением Й[. Приведем пример создания )пех-файла.

Перепишем функцию вычисления правой части системы Лоренца,на языке С. Поскольку система автономна, то опустим пе- ременную С и служебную строковую переменную т1ад. Подготовленный файл [оге.с имеет вид: Ф)пс!обе "аех.л" /* 1оге - г)длс Ьапб втбе о( Еогепт еповт1оп */ тото 1оге(бооЫе тП, боиЫе уП. боиЫе з1даа, боыЫе г, боыЫе Ы т[0]- втдва*(у[П-у[0]), ([)]- -у[Ц (г-у[2])«у[0]; т[2]" -Ь«у[2]«у[0]«у[)]; то)б аехеыпс(1оп( 1пс п)пз. ахАггау «р)ьзП .

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

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

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