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

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

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

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

1пс пгьв. сопвт ахАггду *ргьБП ) ( боиЫе «т. «у. з)дав, г, Ь: (пт аго, псо; /* Проверив вргунентов */ )т (п)ьв>1) [аехеггмвдтхт("много выходных данных");) */ аго ахзетн(рглв[0]); псо - ахзеСМ(ргпв[0]); р)пв[0]-васгевтевооЫ еиввг1х(аго,псо.ахдЕАЕ); /* Создвен выходной массив указывает й[АТ[.АВ, что параметры А, В являются входными, а параметры Е, 0— выходными. Заголовок принимающей функции на языке С должен иметь имя аехрыпс(1оп и оформляться следующим образом: $1пс1обе <васи.п> тотб аехгопствоп( дв36 Глава 16.

Программирование в )4АТ0(В /* Назначин указатель на выходной пассив */ т-мхйетРг(р1из[01): /* Назначии уназатель на входной пассив */ у мхвеСРг(ргщ(01): /* Определии сналярные входные паранетры */ зтува-ехОе(5са1аг(рглз(Ц ): г мхОе(5са1аг(ргаз(21); Ь-тхйет5са1аг(рглз(31): /* Вызов функции */ 1оге(г,у,зтомз,г, Ы ) Запустим компиляцию подготовленного файла: мех 1оге.с При нормальном завершении компиляции появится файл 1оге.((11. Проверим, вер- но ли работает откомпилированная функция, для чего с одинаковыми входными данными обратимся к функции 1ог, заданной файлом (ог.(п, и к подготовленной функции 1оге. В результате вызова функции 1ог получим: > 1ог(0,(0 1 5)','',10,25.8/3)' апз- 10.0000 -1.0000 -13.3333 Такой же результат будет получен для 1оге: » 1оге((0 1 51'.

10,25.8/3)' апз = 10.0000 -1.0000 -13.3333 Использовать(нех-функцию 1оге для интегрирования системы Лоренца нельзя, так как перечень ее входных параметров не отвечает набору, требуемому интегратора- ми опе23. Опе45 и др. Поэтому дополнительно напишем функцию-переходник (обыч- ный и(-файл) с единственной целью — вызывать л)ех-функцию для вычисления правой части системы Лоренца: Галс((оп (-1огепг(т.у,()ао.зтупа.г. Ы д 1ог - г(ОЛС Лапа ззое а( Согепз еццаттоп Г - 1оге(у.з!Она.г.Ы; Теперь можно использовать подготовленные функции 1оге и 1огепг для интегри- рования системы Лоренца. При выполнении (лех-задания используются параметры, перечисленные в файле параметров в)ехор05, например п)ехортз.Ьат для Ж(пс)о ыз. Параметры можно также указывать в командной строке.

В табл. 16.7 перечислены некоторые параметры для команды мех, доступные для разных платформ, В рассмотренном примере функции, начинающиеся с приставки мех, были функци- ями МАТ1,АВ. Из мех-функций можно обращаться и к другим командам МАТ1.АВ; для этого имеется специальная функция яехСа11НАЧ.АВ с пятью параметрами. Пер- вые четыре обеспечивают интерфейс и аналогичны параметрам функции яехгыпст1 оп, а пятый содержит имя вызываемой команды.

В среде 1й/1пс)отца скомпилированный машинный код гдех-файла находится в фай- ле динамической библиотеки (1)упаш(с 1.1п)с 1дЬгагу) с расширением 011. Лля от- ладки яех-функций можно испольэовать среду системы, в которой компилиРуется функция, например Рече1орег Ввцс)(о для Ч)аиа) С++ М1сгоаоГт. Компилятор НАТЕАВ 437 Таблица зб.т. Параметры команды птех Назначение Параметр Компиляция без редактирования связей Справка по команде аех Включение отладочных символов в пех-фунхцню Указание пути (РАТН) для компилятора Оптимизация мех-функции Указание имени (МАМЕ) создаваемой кех-функции Печать установок компилятора и редактора связей -9 -1 РАТН -О -онтрнт МАМЕ Более подробно программирование и отладка гех-функций описаны в фирменном руководстве Арр!!сат!оп Ргойгат 1птег1асе Сц!с)е, см.

также [20!. Компилятор МАТЮКАВ При помощи МАТБАВ можно создавать независимые приложения, используя компиляторы С и С++. Для этого предназначены компилятор МАТЮКАВ Согпрт!ег и библиотека функций С++ МасЬ агату. Достоинством такого подхода является гибкость и простота применения; синтаксис аналогичен используемому в МАТ1.АВ, все арифметические вычисления ведутся с двойтюй точностью, за счет исключения этапа интерпретации возрастает скорость выполнения функций, библиотечный код сам управляет выделением памяти и ее очисткой. Библиотека С+о МатЬ ЫЬгагу состоит из интерфейсных функций, набора бинарных и унарных операторов и собственно математических функций МАТ1.АВ. Примерно триста встроенных и компилируемых (пт-файлы) функций могут быть использованы для создания приложений на языке С.

Это элементарные и специальные математические функции, наборы стандартных и специальных матриц, функции для решения задач линейной алгебры, интерполяции, статистики и анализа данных, команды ввода-вывода и др. Библиотека не поддерживает графику, команды системы Б)ши!1п)с, работу с разреженными матрицами и использование интерпретаторов командной строки (функций еча1 и т"еча1). Компилятор МАТ1 АВ Сотр!!ег Чегз)оп 2 0 (файл отсс.пт и ряд сопутствующих файлов) позволяет конвертировать пт-файл в файл на языке С или С++, а также организует поддержку бинарных файлов. По умолчанию результаты компиляции записываются в директорию ~вот)с Драйвер с именем асс служит для запуска компиляции, для получения кода на С имеется специальный глех-файл птссехес, а для построения юех-файлов и отдельных приложений — тпбц!!б.

Обращение к компилятору для трансляции файлов Ецп, йзп2 с параметрами орс1 опз имеет вид мсс [орвыопз] тип Етип2 ... 1 В квадратных скобках указаны необязательные параметры. Описание всех функций и набор примеров можно получить по справке пе1р юсс. Для ряда наиболее 438 Глава 16.

Программирование в ИДТСДВ важных задач, решаемых с помощью компилятора МАТЕАВ Сотрт!ег, имеются макропараметры — подготовленные комплекты из основных параметров. Перечни макро- и основных параметров даны соответственно в табл. 16.8 и 16.9, Например, если файл Гцп.>п содержит функцию на я(-языке, то для запуска компилятора для перевода (трансляции) атой функции в файл на языке Сч-ь и генерации приложения достаточно команды с одним макропараметром -р: асс -р Гоп Эквивалент, использующий основные опции, выглядит следующим образом: псс -С -и матп -Ь Срр -П -Т >~ох:ехе Гьп Таблица 16.8.

Макропараметры компилятора Назначение Параметр Генерация файла на языке С и тех-файла Генерация файла на языке С и приложения Генерация файла на языке С++ и приложения Генерация 5ппцКпК-функции (з-функции) тех-файла Р -5 Таблица 16.9. Основные параметры компилятора Параметр Назначение Конвертация пз-файла в текст на языке С Указание каталога для файла-результата Включение отладочной информации Подключение путей доступа (каталогов) -с -О <ш гессогу> -о -! <рати> Если нужно взять файл из каталога зон(се, а результат поместить в каталог татйед то обращение должно быть оформлено следующим образом: асс -н -1 /зоогсе -д теагрет топ Приведем пример использования компилятора для преобразования и(-файлов в тексты на С и последующего создания выполняемого приложения из двух функ- ций.

В первой функции Гцп1 из файла 111,(х1 считывается целое число', далее орга- низуется цикл, в котором стоит обращение к функции Топ2. По завершении цикла в файл 222.(хт записывается максимальное число из массива, вычисленного послед- ним. В начале и конце функции Гцп1 стоят соответственно команды стс и (ос, что позволяет оценить время выполнения тела функции Тцп1: Толст!оп у-Гоп1 ыс Г1-горел( "111.

Схт", ' г ' ): (2-Горел Г'222, Схт" . 'и'): и - тзсапт((1,'15сг), Гс>озе(П); тог К-1:п, е(-Гоп2(п); епс трг(птт(т2,'ХЭ.2('.звх(ет»: Гс)озе(Г2>: кос Функция Тцп2 с одним входным параметром и возвращает спектр магической матрицы порядка и: Компилятор (т(АТ(АВ 439 типот>оп у-Гип2(п) у-е)0(магно(п)): Приведем последовательность команд для подготовки приложения из файлов !ип1.пт и !ил 2. пт, сопроводив выполняемые команды комментариями: мсс -( Ц С Гип) $ Резупхтат тип1 с есс -С Ц 0 (ип2 т' пезулатат.

(ип2.с мсс -н матт -' 0 гипт тип2 Ф Резул>ц а-. (ип1 мата с мсс -т спарт)е ехе (ип1.с т Резул,тат Гип!.оо) псс -т спор~то.ехе тип2.с т Резулатдт' В>г2 оп) мсс -т сопрт'е ехе Гип1 пате.с т Резула"ат (ип! патп оЬ0) псе - 1>па ехе Гип) оЬ; Ьл 2 оЬ) тип'. Рпж оо„: В результате выполнения атих команд в текущем каталоге появятся файлы на С !ип1.с, Гип2.с, Ьзп1 п)а(п.с, объектныс файлы !ип1.оЬ), !ип2.оЬ), Ьип1 (паап.оЬ) и исполняемый файл !иг>1.ехе, Отметим, что тексты полученных файлов на С не приводятся.

При запуске и-функции "ю1 в среде ЫЛТ!.ЛВ подучился следующий результат: » тип1 55 е)ар»ее Стпе = 5.920)о 000 При другах прогонах функции й)п1 оценка затраченного времени варьировалась, составляя в среднем 6.7 секунды, выполнение же программы !ип1.ехе требовало примерно 6.4 секунды. Заметим, что для запуска !ип1.ехе нужны соответствующие библиотеки ()((, в которых содержатся использованные функции, поэтому для работы с исполняелтым файлом нужны соответствующие (й(-бпблиотеки МАТ!.АВ.

Конечно, рассмотрен прс>стой пример, но и оц дает представление об аффективнокти вычислений в самой среде, а также о возможностях компилятора и библиотек ЫЛТ!.АВ для построения приложений. В МАТ! АВ имсется оибл потока для подключения ядра пакета в про(раа(мах на языках С и Фортран. Это позволяет вызывать пз пользовательских программ, написанных на этих языках и подготовленных и соответствующих средах, математические, графические и другие команды МЛТ! АВ. В каталоге т(ехгегпттехзптр(еатепдпта1 находится файл епдтаттп()епто.с с примером такой программы, Для подготовки приложения используем команду п)ех, где указан ЬаГ-файл с нужными настройками для компиляции: еех -Г с тмас)аЬЯ11>Ь>п>Ьсс53епдпасорта.Ьас епдтттпиемо.с Имя файла настройки зависит от применяемого транслятора, а сами файлы для различных компиляторов находятся в каталоге 1Ь(п.

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

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

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