Разработка приложений на C++ в среде MATLAB
Покупка
Тематика:
Программирование на C и C++
Издательство:
ДМК Пресс
Год издания: 2023
Кол-во страниц: 497
Дополнительно
Вид издания:
Практическое пособие
Уровень образования:
Дополнительное образование
ISBN: 978-5-89818-465-0
Артикул: 114516.03.99
Данная книга посвящена изложению вопросов совместного использования богатой библиотеки визуальных компонент Borland C++ Builder и возможностей языка С++ с мощными математическими процедурами MATLAB®. Книга содержит основы программирования в Borland C++ Builder и на MATLAB, описание математических библиотек MATLAB для С/С++ и компиляторов MATLAB. Рассматриваются примеры программ на Borland C++ Builder, которые используют математические библиотеки MATLAB С++. Освоение технологии использования функций математических библиотек MATLAB в Borland C++ Builder позволит создавать полноценные Windows-приложения с развитой графической средой, в которых возможна реализация сложных математических алгоритмов.
Книга предназначена преподавателям и студентам вузов по специальностям, близким к прикладной математике, профессиональным программистам С++, которые сталкиваются с проблемами реализации математических алгоритмов на С++, и MATLAB-программистам, которые хотят использовать гибкость языка С++ и богатую библиотеку визуальных компонент Borland C++ Builder для реализации алгоритмов MATLAB в виде законченных и независимых от MATLAB приложений.
Файлы, содержащие примеры программ вместе с исходными текстами, а также архив с математическими библиотеками С/С++ MATLAB от компании MathWorks, можно найти на сайте издательства.
- Полная коллекция по информатике и вычислительной технике
- ДМК Пресс. Информационные системы и технологии
- ДМК Пресс. ИТ-технологии для профессионалов
- Интермедиатор. Информационные системы и технологии (сводная)
- Интермедиатор. ИТ-технологии для профессионалов (сводная)
- Программирование
- Программирование на C и C++
Тематика:
ББК:
УДК:
ОКСО:
- ВО - Бакалавриат
- 09.03.01: Информатика и вычислительная техника
- 09.03.02: Информационные системы и технологии
- 09.03.04: Программная инженерия
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
М. Л. Подкур, П. Н. Подкур, Н. К. Смоленцев Разработка приложений на С++ в среде MATLAB Москва, 2023 2-е издание, электронное
УДК 519.68 ББК 32.913 П44 П44 Подкур, М. Л. Разработка приложений на C++ в среде MATLAB / М. Л. Подкур, П. Н. Подкур, Н. К. Смоленцев. — 2-е изд., эл. — 1 файл pdf : 497 с. — Москва : ДМК Пресс, 2023. — Систем. требования: Adobe Reader XI либо Adobe Digital Editions 4.5 ; экран 10". — Текст : электронный. ISBN 978-5-89818-465-0 Данная книга посвящена изложению вопросов совместного использования богатой библиотеки визуальных компонент Borland C++ Builder и возможностей языка С++ с мощными математическими процедурами MATLAB®. Книга содержит основы программирования в Borland C++ Builder и на MATLAB, описание математических библиотек MATLAB для С/С++ и компиляторов MATLAB. Рассматриваются примеры программ на Borland C++ Builder, которые используют математические библиотеки MATLAB С++. Освоение технологии использования функций математических библиотек MATLAB в Borland C++ Builder позволит создавать полноценные Windows-приложения с развитой графической средой, в которых возможна реализация сложных математических алгоритмов. Книга предназначена преподавателям и студентам вузов по специальностям, близким к прикладной математике, профессиональным программистам С++, которые сталкиваются с проблемами реализации математических алгоритмов на С++, и MATLAB-программистам, которые хотят использовать гибкость языка С++ и богатую библиотеку визуальных компонент Borland C++ Builder для реализации алгоритмов MATLAB в виде законченных и независимых от MATLAB приложений. Файлы, содержащие примеры программ вместе с исходными текстами, а также архив с математическими библиотеками С/С++ MATLAB от компании MathWorks, можно найти на сайте издательства. УДК 519.68 ББК 32.913 Электронное издание на основе печатного издания: Разработка приложений на C++ в среде MATLAB / М. Л. Подкур, П. Н. Подкур, Н. К. Смоленцев. — Москва : ДМК Пресс, 2008. — 496 с. — ISBN 978-5-94074- 445-0. — Текст : непосредственный. MATLAB® is a trademark of The MathWorks, Inc. and is used with permission. The MathWorks does not warrant the accuracy of the text or exercises in this book. This book’s use or discussion of MATLAB® software or related products does not constitute endorsement or sponsorship by The MathWorks of a particular pedagogical approach or particular use of the MATLAB® software. В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных техническими средствами защиты авторских прав, правообладатель вправе требовать от нарушителя возмещения убытков или выплаты компенсации. ISBN 978-5-89818-465-0 © Подкур М. Л., Подкур П. Н., Смоленцев Н. К. © Оформление,издание. ДМК Пресс, 2008
Содержание Предисловие ..............................................................................10 Глава 1. Основы программирования на Borland C++ Builder 1.1. Среда разработки ................................................................ 13 1.1.1. Панель инструментов.................................................... 14 1.1.2. Палитра компонентов ................................................... 14 1.1.3. Редактор форм ............................................................. 14 1.1.4. Редактор кода ............................................................... 14 1.1.5. Инспектор объектов...................................................... 15 1.1.6. Менеджер проекта ........................................................ 16 1.1.7. Контекстное меню ........................................................ 16 1.1.8. Контекстная помощь ..................................................... 16 1.2. Компоненты C++ Builder ....................................................... 17 1.2.1. Свойства компонентов.................................................. 18 1.2.2. События компонентов................................................... 18 1.2.3. Методы компонентов .................................................... 19 1.3. Основы С++ как языка создания программ в C++ Builder ..... 19 1.3.1. Комментарии ................................................................ 19 1.3.2. Типы и описания ........................................................... 20 1.3.3. Основные типы ............................................................. 21 1.3.4. Константы ..................................................................... 22 1.3.5. Производные типы........................................................ 23 1.3.6. Базовые операторы ...................................................... 27 1.3.7. Выражения и операторы ............................................... 28 Описания ...................................................................... 29 1.3.8. Функции........................................................................ 32 1.3.9. Классы и объектноориентированное программирование ................................................................ 33 1.3.10. Структура программы на С++...................................... 51 1.3.11. Событийное программирование ................................. 54 1.4. Использование основных классов библиотеки VCL .............. 58
Содержание Содержание Содержание Содержание Содержание 1.4.1. Классы описания данных .............................................. 58 1.4.2. Компоненты интерфейса .............................................. 69 1.4.3. Системные компоненты ................................................ 83 TForm............................................................................ 86 1.4.4. Обработка исключений ................................................. 98 1.5. Пример построения графиков функций в C++ Builder .......... 99 Глава 2. Основы работы в системе MATLAB® 2.1. Система компьютерной математики MATLAB..................... 109 2.1.1 Основные компоненты системы MATLAB ..................... 110 2.1.2. Инструментальные средства рабочего стола MATLAB ... 111 2.1.3. Константы и системные переменные MATLAB ............ 117 2.1.4. Типы данных MATLAB .................................................. 117 2.2. Основы работы с MATLAB .................................................. 120 2.2.1. Запуск MATLAB и начало работы ................................. 120 2.2.2. Задание массивов ...................................................... 122 2.2.3. Операции над массивами ........................................... 125 2.2.4. Решение систем линейных уравнений ........................ 128 2.2.5. Мфайлы ..................................................................... 131 2.2.6. Чтение и запись текстовых файлов ............................. 133 2.2.7. Операции с рабочей областью и текстом сессии ........ 136 2.3. Массивы символов ............................................................ 137 2.3.1. Задание массива символов ........................................ 137 2.3.2. Общие функции .......................................................... 138 2.3.3. Проверка строк ........................................................... 139 2.3.4. Операции над строками .............................................. 139 2.3.5. Преобразование чисел в символы и обратно .............. 141 2.3.6. Функции преобразования систем счисления .............. 142 2.3.7. Вычисление строковых выражений ............................. 143 2.4. Массивы ячеек ................................................................... 143 2.4.1. Создание массивов ячеек ........................................... 144 2.4.2. Доступ к данным в ячейках.......................................... 146 2.4.3. Вложенные массивы ячеек.......................................... 147 2.4.4. Массивы ячеек, содержащих структуры...................... 149 2.4.5. Многомерные массивы ячеек ..................................... 149 2.5. Массивы структур .............................................................. 150 2.5.1. Построение структур .................................................. 150 2.5.2. Доступ к полям и данным структуры ........................... 151 2.4.3. Многомерные массивы структур................................. 154 2.6. Программирование в среде MATLAB.................................. 154
Содержание Содержание Содержание Содержание Содержание 2.6.1. Мфункции .................................................................. 155 2.6.2. Операторы системы MATLAB ..................................... 160 2.6.3. Управление последовательностью исполнения операторов ....................................................... 163 2.6.4. Вычисление символьных выражений .......................... 167 2.6.5. Ошибки и предупреждения ......................................... 168 2.6.6. Повышение эффективности обработки Мфайлов ...... 169 Глава 3. Математическая библиотека MATLAB® для языка C 3.1. Введение ........................................................................... 171 3.1.1. Установка Математической библиотеки MATLAB ........ 172 3.1.2. Каталоги Математической библиотеки ....................... 174 3.1.3. Документация Математической библиотеки MATLAB C .......................................................... 174 3.1.4. Сходство и различие MATLAB и C................................ 175 3.1.5. Пример написания простой программы ..................... 176 3.1.6. Компиляция и компоновка приложения ...................... 178 3.2. Работа с массивами mxArray .............................................. 182 3.2.1. Поддерживаемые типы массивов MATLAB .................. 182 3.2.2. Числовые массивы...................................................... 183 3.2.3. Разреженные матрицы................................................ 188 3.2.4. Массивы символов ..................................................... 191 3.2.5. Массивы ячеек............................................................ 193 3.2.6. Структуры MATLAB ...................................................... 196 3.2.7. Выполнение обычных задач программирования с массивами ......................................................................... 198 3.3. Управление памятью массива............................................ 202 3.3.1. Автоматизированное управление памятью против явного ...................................................................... 202 3.3.2. Использование автоматизированного управления памятью ............................................................ 205 3.4. Индексация в массивах...................................................... 210 3.4.1. Введение .................................................................... 211 3.4.2. Функции индексации .................................................. 212 3.4.3. Индексация числовых массивов ................................. 214 3.4.4. Индексация массива ячеек ......................................... 220 3.4.5. Индексация массива структур .................................... 223 3.5. Вызов процедур библиотеки .............................................. 225 3.5.1. Как вызывать функции MATLAB .................................. 226
Содержание Содержание Содержание Содержание Содержание 3.5.2. Передача функций в качестве аргументов .................. 231 3.5.3. Замена списков параметров массивом ячеек ............. 238 3.6. Импорт и экспорт данных................................................... 239 3.7. Процедуры Математической библиотеки С ....................... 241 Глава 4. Математическая библиотека MATLAB® для языка C++ 4.1. Введение ........................................................................... 244 4.1.1. Установка Математической библиотеки ..................... 245 4.1.2. Каталоги Математической библиотеки ....................... 246 4.1.3. Документация Математической библиотеки MATLAB C++ ...................................................... 248 4.1.4. Сходство и различие MATLAB и C++ ............................ 249 4.1.5. Знакомство с Математической библиотекой MATLAB C++ .................................................... 250 4.1.6. Создание автономных С++приложений ..................... 252 4.1.7. Компиляция и компоновка приложения ...................... 255 4.2. Работа с массивами mwArray ............................................. 257 4.2.1. Числовые массивы...................................................... 258 4.2.2. Разреженные матрицы................................................ 263 4.2.3. Массивы символов ..................................................... 265 4.2.4. Массивы ячеек............................................................ 267 4.2.5. Структуры ................................................................... 270 4.2.6. Выполнение обычных задач программирования с массивами ......................................................................... 271 4.3. Индексация в массивах...................................................... 278 4.3.1. Индексация числовых массивов ................................. 279 4.3.2. Индексация в массивах ячеек ..................................... 283 4.3.3. Индексация в массивах структур MATLAB ................... 286 4.3.4. Некоторые методы индексации .................................. 288 4.4. Вызов функций библиотеки ............................................... 289 4.4.1. Как вызывать функции библиотеки C++ ...................... 289 4.4.2. Представление входных аргументов как массива ячеек ................................................................ 293 4.4.3. Передача функций в качестве аргументов .................. 294 4.4.4. Использование математических операторов .............. 296 4.4.5. Конфликты имен с функциями стандартной библиотеки C........................................................................ 297 4.5. Ввод и вывод массивов...................................................... 299 4.5.1. Использование потока вводавывода массива ........... 299
Содержание Содержание Содержание Содержание Содержание 4.5.2. Использование функций ввода/вывода файлов .......... 301 4.5.3. Импорт и экспорт данных MATфайла ......................... 305 4.6. Интерфейс класса mwArray ................................................ 307 4.6.1. Конструкторы.............................................................. 308 4.6.2. Индексация................................................................. 309 4.6.3. Операторы .................................................................. 311 4.6.4. Размер массива .......................................................... 312 4.6.5. Извлечение данных из mwArray................................... 312 Глава 5. Компилятор MATLAB® версии 3.0 5.1. Введение в Компилятор MATLAB........................................ 315 5.1.1. Инсталляция и конфигурация ..................................... 316 5.1.2. Использование Компилятора mcc............................... 318 5.1.3. Конечные продукты Компилятора MATLAB .................. 320 5.1.4. Ограничения компиляторов ........................................ 323 5.1.5. Пример создания МЕХфайла ..................................... 324 5.2. Опции mbuild ..................................................................... 325 5.3. Опции Компилятора mcc.................................................... 328 5.3.1. Обычное использование Компилятора ....................... 328 5.3.2. Опции mcc .................................................................. 329 5.3.3. Использование опций и макроопций mcc ................... 332 5.3.4. Опции создания кода .................................................. 335 5.3.5. Опции настройки Компилятора и среды разработки .... 337 5.3.6. Опции mbuild/mex ....................................................... 339 5.4. Создание автономных приложений и библиотек ................ 340 5.4.1. Создание автономных приложений............................. 341 5.4.2. Создание общедоступных библиотек ......................... 346 5.4.3. Распространение автономных приложений ................ 352 5.5. Создаваемые Компилятором коды .................................... 353 5.5.1. Типы создаваемых файлов ......................................... 353 5.5.2. Внутренние функции интерфейса ............................... 356 5.5.3. Поддерживаемые выполнимые типы .......................... 360 5.5.4. Управление видом кода программы ........................... 362 5.5.5. Использование псевдокомментариев......................... 364 5.6. Выполнение оптимизации ................................................. 367 Глава 6. Компилятор MATLAB® версии 4 6.1. Введение ........................................................................... 372 6.1.1. Системные требования и ограничения ....................... 372 6.1.2. Различия между MATLAB Компилятором 4 и предыдущими версиями.................................................... 375
Содержание Содержание Содержание Содержание Содержание 6.1.3. Использования Компилятора MATLAB ........................ 378 6.2. Процесс трансляции .......................................................... 379 6.2.1. Обзор технологии Компилятора MATLAB .................... 379 6.2.2. Файлы, создаваемые mcc ........................................... 381 6.2.3. Функция mbuild ........................................................... 382 6.3. Работа с программой mcc.................................................. 384 6.3.1. Опции mcc .................................................................. 385 6.3.2. Использование файлов групп ..................................... 392 6.3.3. Использование файлов обертки ................................. 394 6.3.4. Использование псевдокомментариев......................... 394 6.3.5. Скриптфайлы ............................................................ 395 6.4. Автономные приложения ................................................... 396 6.4.1. Создание кода только из mфайлов ............................ 396 6.4.2. Объединение Мфайлов и кода C или C++ .................. 398 6.4.3. Управление путями при компиляции........................... 400 6.4.4. Пропущенные функции ............................................... 402 6.4.5. Автономное Сприложение для пользователя............. 402 6.5. Библиотеки ........................................................................ 404 6.5.1. Библиотека совместного использования C ................. 405 6.5.2. C++библиотека совместного использования............. 409 6.5.3. Функции, созданные из mфайлов .............................. 412 6.5.4. Использование varargin и varargout в интерфейсе mфункции ................................... 413 Глава 7. Создание приложений на Borland С++ Builder с использованием Математической библиотеки С++ MATLAB® 7.1. Чтение, обработка и запись данных ................................... 415 7.2. Построение графиков данных mwArray .............................. 421 7.3. Пакетное вейвлетразложение сигнала ............................. 425 7.3.1. Описание пакетного вейвлетразложения .................. 425 7.3.2. Описание функций программы ................................... 426 7.3.3. Описание работы программы ..................................... 428 Приложение 1. Функции Математической библиотеки C++ MATLAB® П.1.1. Операторы...................................................................... 437 П.1.2. Функции Математической библиотеки MATLAB C++ ....... 439 1.2.1. Функции ввода/вывода файлов .................................. 439 1.2.2. Операторы и специальные функции............................ 440
Содержание Содержание Содержание Содержание Содержание 1.2.3. Элементарные матрицы и управление матрицами ..... 442 1.2.4. Элементарные математические функции ................... 443 1.2.5. Специализированные математические функции ........ 444 1.2.6. Численная линейная алгебра ...................................... 445 1.2.7. Анализ данных и преобразования Фурье .................... 446 1.2.8. Полиномы и интерполяционные функции ................... 447 1.2.9. Функции от функций и решение обыкновенных дифференциальных уравнений ............................................ 448 1.2.10. Типы данных ............................................................. 449 1.2.11. Функции многомерных массивов .............................. 449 1.2.12. Функции строк символов .......................................... 449 1.2.13. Функции массива ячеек ............................................ 450 1.2.14. Функции структур...................................................... 451 1.2.15. Функции разреженных матриц .................................. 451 1.2.16. Время и даты............................................................ 452 П.1.3. Сервисные функции ....................................................... 452 П.1.4. Функции доступа к массивам.......................................... 455 Приложение 2. Библиотека классов C++ Компилятора 4 MATLAB® П.2.1. Основные типы данных ................................................... 458 П.2.2. Класс mwString ............................................................... 458 2.2.1. Конструкторы.............................................................. 459 2.2.2. Методы ....................................................................... 460 2.2.3. Операторы .................................................................. 460 П.2.3. Класс mwException ......................................................... 462 2.3.1. Конструкторы.............................................................. 462 2.3.2. Методы ....................................................................... 464 2.3.3. Операторы .................................................................. 464 П.2.4. Класс mwArray ................................................................ 465 2.4.1. Конструкторы.............................................................. 466 2.4.2. Методы ....................................................................... 470 2.4.3. Операторы .................................................................. 481 2.4.4. Статические методы ................................................... 482 Содержание компактдиска .................................................. 485 Литература................................................................................ 489 Предметный указатель .......................................................... 490
Предисловие Данная книга посвящена изложению вопросов совместного использования богатой библиотеки визуальных компонент Borland C++ Builder и возможностей языка С++ с мощными математическими процедурами MATLAB®. Книга содержит основы программирования в Borland C++ Builder и на MATLAB, описание математических библиотек MATLAB для С/С++ и компиляторов MATLAB (включая последнюю версию). Рассматриваются примеры программ на Borland C++ Builder, которые используют математические библиотеки MATLAB. Хотя книг по основам системы MATLAB и по программированию на С/С++ и на Borland C++ Builder достаточно много, в настоящее время нет ни одной книги, в которой были бы изложены вопросы совместного использования MATLAB и С/С++ и Borland C++ Builder. Книга предназначена преподавателям и студентам вузов по специальностям, близким к прикладной математике (математическая подготовка читателя предполагается в пределах технического вуза), профессиональным программистам С++, которые сталкиваются с проблемами реализации математических алгоритмов на С++, и MATLABпрограммистам, которые хотят использовать гибкость языка С++ и богатую библиотеку визуальных компонент Borland C++ Builder для реализации алгоритмов MATLAB в виде законченных и независимых от MATLAB приложений. Углубленное программирование на MATLAB предполагает использование языка С для создания МЕХфайлов, создание автономных приложений на MATLAB, создание библиотек (dll) функций. Это направление в MATLAB представлено тремя пакетами расширений: MATLAB C Math Library, MATLAB C++ Math Library и MATLAB Compiler – математические библиотеки С/С++ MATLAB и Компилятор MATLAB. На сегодняшний день эти пакеты не отражены ни в одной книге по MATLAB. Стандартная математическая библиотека С++ содержит около 20 элементарных функций. Поэтому создание программы на С++, где даже немного используется математика, возможно, но требует серьезной работы по программированию математических функций и процедур. Даже такая простая задача, как вычисление ранга матрицы, требует от программиста очень больших усилий. Система MATLAB в своих пакетах MATLAB C/C++ Math Library и MATLAB Compiler предлагает богатую коллекцию математических функций (более 400), которые могут быть эффективно использованы программистами С/С++. При программировании на С++ имеются определенные трудности использования математических библиотек MATLAB. Предлагаемая книга рассказывает, как решить эти проблемы. Освоение технологии использования математических библиотек