Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Разработка приложений на C++ в среде MATLAB

Покупка
Артикул: 114516.03.99
Доступ онлайн
349 ₽
В корзину
Данная книга посвящена изложению вопросов совместного использования богатой библиотеки визуальных компонент 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++ в среде MATLAB : практическое руководство / М. Л. Подкур, П. Н. Подкур, Н. К. Смоленцев. - 2-е изд. - Москва : ДМК Пресс, 2023. - 497 с. - ISBN 978-5-89818-465-0. - Текст : электронный. - URL: https://znanium.com/catalog/product/2106235 (дата обращения: 22.11.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
М. Л. Подкур, П. Н. Подкур, Н. К. Смоленцев

Разработка приложений
на С++ в среде 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. Предлагаемая книга рассказывает, как решить эти
проблемы. Освоение технологии использования математических библиотек

Доступ онлайн
349 ₽
В корзину