MATLAB. Программирование на Visual C#, Borland JBuilder, VBA : учебный курс
Покупка
Тематика:
Программирование и алгоритмизация
Издательство:
ДМК Пресс
Год издания: 2023
Кол-во страниц: 457
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
ВО - Бакалавриат
ISBN: 978-5-89818-500-8
Артикул: 816882.01.99
Доступ онлайн
В корзину
Данная книга посвящена изложению методов использования математических процедур MATLAB® при создании Windows-приложений, работающих независимо от MATLAB. Книга содержит введение в MATLAB и описание пакетов расширения MATLAB, позволяющих создавать компоненты, которые могут быть использованы при программировании на С++, Borland JBuilder, VBA в Excel и Visual Studio 2005. Кратко изложены необходимые сведения по языкам программирования Java и C#. Подробно рассматриваются примеры создания программ на Borland JBuilder, дополнений к Excel и программ на Visual C#, которые используют математические процедуры, разработанные на MATLAB. Освоение технологии использования математических возможностей MATLAB в других языках программирования позволит создавать полноценные Windows-приложения с развитой графической средой, в которых возможна реализация сложных математических алгоритмов.
Книга предназначена студентам и преподавателям ВУЗов по специальностям, близким к прикладной математике, профессиональным программистам, которые сталкиваются с проблемами реализации математических алгоритмов, и MATLAB-программистам, которые хотят использовать другие языки программирования для реализации алгоритмов MATLAB в виде законченных и независимых от MATLAB приложений.
- Полная коллекция по информатике и вычислительной технике
- ДМК Пресс. Информационные системы и технологии
- ДМК Пресс. ИТ-технологии для обучающихся
- Интермедиатор. Информационные системы и технологии (сводная)
- Интермедиатор. ИТ-технологии для обучающихся (сводная)
- Программирование
- Программирование и алгоритмизация
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов.
Для полноценной работы с документом, пожалуйста, перейдите в
ридер.
MATLAB Ïðîãðàììèðîâàíèå íà Visual C#, Borland JBuilder, VBA Ó÷åáíûé êóðñ Н. К. Смоленцев Ìîñêâà, 2023 Рекомендовано научнометодическим советом по математике и механике УМО по классическому университетскому образованию РФ в качестве учебного пособия для студентов высших учебных заведений, обучающихся по группе математических и механических направлений и специальностей 3-е издание, электронное
УДК 519.68 ББК 32.913 С51 С51 Смоленцев, Николай Константинович. MATLAB. Программирование на Visual C#, Borland JBuilder, VBA : учебный курс / Н. К. Смоленцев. — 3-е изд., эл. — 1 файл pdf : 457 с. — Москва : ДМК Пресс, 2023. — Систем. требования: Adobe Reader XI либо Adobe Digital Editions 4.5 ; экран 10". — Текст : электронный. ISBN 978-5-89818-500-8 Данная книга посвящена изложению методов использования математических процедур MATLAB® при создании Windows-приложений, работающих независимо от MATLAB. Книга содержит введение в MATLAB и описание пакетов расширения MATLAB, позволяющих создавать компоненты, которые могут быть использованы при программировании на С++, Borland JBuilder, VBA в Excel и Visual Studio 2005. Кратко изложены необходимые сведения по языкам программирования Java и C#. Подробно рассматриваются примеры создания программ на Borland JBuilder, дополнений к Excel и программ на Visual C#, которые используют математические процедуры, разработанные на MATLAB. Освоение технологии использования математических возможностей MATLAB в других языках программирования позволит создавать полноценные Windows-приложения с развитой графической средой, в которых возможна реализация сложных математических алгоритмов. Книга предназначена студентам и преподавателям ВУЗов по специальностям, близким к прикладной математике, профессиональным программистам, которые сталкиваются с проблемами реализации математических алгоритмов, и MATLAB-программистам, которые хотят использовать другие языки программирования для реализации алгоритмов MATLAB в виде законченных и независимых от MATLAB приложений. УДК 519.68 ББК 32.913 Электронное издание на основе печатного издания: MATLAB. Программирование на Visual C#, Borland JBuilder, VBA : учебный курс / Н. К. Смоленцев. — 2-е изд. — Москва : ДМК Пресс, 2014. — 456 с. — ISBN 978-5-94074-771-0. — Текст : непосредственный. Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Материал, изложенный в данной книге, многократно проверен. Но поскольку вероятность технических ошибок все равно существует, издательство не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные ошибки, связанные с использованием книги. В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных техническими средствами защиты авторских прав, правообладатель вправе требовать от нарушителя возмещения убытков или выплаты компенсации. ISBN 978-5-89818-500-8 © Смоленцев Н. К. © Оформление, издание, ДМК’Пресс, 2014
Краткое содержание Предисловие ................................................................... 16 Глава 1. ОСНОВЫ РАБОТЫ В СИСТЕМЕ MATLAB® ............................................................................ 19 Глава 2. КОМПИЛЯТОР MATLAB® ВЕРСИИ 4.6 ...................................................................... 85 Глава 3. СОЗДАНИЕ КОМПОНЕНТОВ ДЛЯ JAVA ПРИ ПОМОЩИ JAVA BUILDER ................ 171 Глава 4. MATLAB BUILDER ДЛЯ EXCEL ................... 291 Глава 5. СОЗДАНИЕ КОМПОНЕНТОВ ДЛЯ .NET ПРИ ПОМОЩИ .NET BUILDER ................ 341 Предметный указатель .............................................. 450 Содержание компактдиска ..................................... 451 Литература .................................................................... 455
Содержание Предисловие................................................................ 16 Глава 1. Основы работы в системе MATLAB®.......................................................................... 19 1.1. Система компьютерной математики MATLAB® .............. 20 1.1.1. Основные компоненты системы MATLAB ................. 21 1.1.2. Инструментальные средства рабочего стола MATLAB ............................................................................ 21 1.1.3. Константы и системные переменные MATLAB ......... 27 1.1.4. Типы данных MATLAB............................................... 28 1.2. Основы работы с MATLAB®............................................ 31 1.2.1. Запуск MATLAB и начало работы.............................. 31 1.2.2. Задание массивов................................................... 33 Задание одномерных массивов ................................. 33 Задание двумерных массивов ................................... 34 1.2.3. Операции над массивами........................................ 36 1.2.4. Решение систем линейных уравнений ..................... 39 Символьная математика пакета расширения Symbolic Math ............................................................ 40 1.2.5. Мфайлы ................................................................. 42 1.2.6. Чтение и запись текстовых файлов .......................... 44 1.2.7. Операции с рабочей областью и текстом сессии .............................................................. 47 1.3. Массивы символов....................................................... 49 1.3.1. Задание массива символов ..................................... 49 1.3.2. Общие функции....................................................... 49 1.3.3. Проверка строк ....................................................... 51
Содержание 5 1.3.4. Операции над строками .......................................... 51 1.3.5. Преобразование чисел в символы и обратно........... 52 1.3.6. Функции преобразования систем счисления ........... 54 1.3.7. Вычисление строковых выражений.......................... 55 1.4. Массивы ячеек ............................................................. 55 1.4.1. Создание массивов ячеек ....................................... 56 1.4.2. Доступ к данным в ячейках ...................................... 58 1.4.3. Вложенные массивы ячеек ...................................... 60 1.4.4. Массивы ячеек, содержащих структуры .................. 61 1.4.5. Многомерные массивы ячеек .................................. 62 1.5. Массивы структур ........................................................ 62 1.5.1. Построение структур............................................... 63 1.5.2. Доступ к полям и данным структуры ........................ 64 1.5.3. Многомерные массивы структур ............................. 67 1.6. Программирование в среде MATLAB ............................ 67 1.6.1. Мфункции .............................................................. 67 1.6.2. Операторы системы MATLAB .................................. 73 1.6.3. Управление последовательностью исполнения операторов ................................................... 76 1.6.4. Вычисление символьных выражений ....................... 80 1.6.5. Ошибки и предупреждения ..................................... 81 1.6.6. Повышение эффективности обработки Мфайлов... 82 Глава 2. Компилятор MATLAB® версии 4.6 ..................................................................... 85 2.1. Основы работы с Компилятором MATLAB® .................... 86 2.1.1. Назначение Компилятора MATLAB ........................... 86 2.1.2. Инсталляция и конфигурирование........................... 87 2.1.3. Пример использования Компилятора ...................... 88
Создание Windowsприложений 6 Среда разработки Deployment Tool ............................ 88 Создание приложения ............................................... 90 Использование команды mcc..................................... 93 2.1.4. Среда выполнения компоненты MATLAB, библиотека MCR............................................................... 94 2.1.5. Файлы, создаваемые Компилятором....................... 95 Технологический файл компоненты (CTF) .................. 96 Файлы обертки .......................................................... 96 2.2. Процесс создания компонента MATLAB® ...................... 97 2.2.1. Процесс создания компонента ................................ 97 2.2.2. Управление путями при компиляции ....................... 98 2.3. Работа с mcc и mbuild ................................................. 100 2.3.1. Работа с mcc ......................................................... 101 Обычное использование mcc ................................... 101 Опции mcc ............................................................... 102 Порядок использования опций ................................ 105 Использование файлов групп .................................. 106 Создание файлов обертки ....................................... 107 2.3.2. Использование псевдокомментариев ................... 108 2.3.3. Несколько полезных замечаний ............................ 109 2.3.4. Функция mbuild ..................................................... 110 2.4. Примеры создания автономных приложений и библиотек .................................................. 111 2.4.1. Библиотеки совместного использования .............. 111 Библиотека совместного использования C .............. 111 Функции, создаваемые из mфайлов ....................... 118 Использование varargin и varargout в интерфейсе mфункции .............................................................. 119 C++ библиотека совместного использования .......... 119 2.4.2. Создание автономных приложений ....................... 122 Создание кода только из mфайлов ......................... 123 Объединение Мфайлов и кода C или C++ ............... 124
Содержание 7 2.5. Классы C++ Компилятора 4.6 MATLAB® ....................... 127 2.5.1. Основные типы данных .......................................... 127 2.5.2. Класс mwArray ....................................................... 128 Конструкторы .......................................................... 128 Методы копирования ............................................... 130 Методы получения информации о массиве.............. 130 Методы сравнения................................................... 132 Методы доступа к элементам массива mwArray ....... 132 Операторы............................................................... 134 Статические методы ................................................ 135 2.5.3. Класс mwString ...................................................... 136 Конструкторы .......................................................... 136 Методы.................................................................... 136 Операторы............................................................... 136 2.5.4. Класс mwException ................................................ 137 Конструкторы .......................................................... 137 Методы.................................................................... 138 Операторы............................................................... 138 2.6. Внешние интерфейсы ................................................ 138 2.6.1. Процедуры доступа к MATфайлам ........................ 139 2.6.2. Операции с массивами mxArray ............................. 139 2.7. Передача значений между C/C++ double, mxArray и mwArray ............................................................. 141 2.7.1 Преобразование значений между C/C++ double и mxArray ........................................................................ 142 Преобразование скаляров ....................................... 142 Преобразование векторов ....................................... 142 Преобразование матриц.......................................... 143 2.7.2 Преобразование значений из C/C++ double в mwArray........................................................................ 143 Преобразование скаляров ....................................... 143 Преобразование векторов ....................................... 143 Преобразование матриц.......................................... 143
Создание Windowsприложений 8 2.7.3 Преобразование значений из mwArray в C/C++ double............................................................................. 144 Преобразование скаляров ....................................... 145 Преобразование векторов ....................................... 145 Преобразование матриц.......................................... 145 2.7.4. Вспомогательные функции преобразования данных .. 145 Преобразование значений из C/C++ double в mxArray ................................................................. 146 Преобразование значений из mxArray в C/C++ double . 147 Преобразование из C/C++ double в mwArray ............ 149 Преобразование mwArray в C/C++ double................. 149 Пример создания заголовочного файла................... 150 2.8. Математическая библиотека C++ MATLAB® 6.5 ........... 151 2.8.1. Расположение файлов математической библиотеки С++ .............................................................. 152 2.8.2. Документация Математической библиотеки MATLAB C++ ................................................................... 153 2.8.3. Знакомство с Математической библиотекой MATLAB C++ ................................................................... 154 2.8.4. Работа с массивами mwArray................................. 155 Числовые массивы .................................................. 156 2.8.5. Подключение математических библиотек к Borland C++ Builder ....................................................... 160 2.8.6. Примеры приложений использующих математические библиотеки .......................................... 161 Чтение, обработка и запись данных ......................... 162 Построение графиков данных mwArray..................... 166 Глава 3. Создание компонентов для Java при помощи Java Builder ..................................... 171 3.1. Язык программирования Java..................................... 172 3.1.1. Основные элементы программирования на Java ... 173 Первая программа на Java ....................................... 173 Комментарии и имена.............................................. 175 Константы................................................................ 175
Содержание 9 Типы данных ............................................................ 176 Операции ................................................................ 182 Операторы............................................................... 184 Массивы .................................................................. 187 3.1.2. Классы в Java ........................................................ 189 Понятие класса ........................................................ 189 Как описать класс и подкласс .................................. 191 Окончательные члены и классы ................................ 193 Класс Object ............................................................ 193 Опертор new ............................................................ 194 Конструкторы класса ............................................... 194 Статические члены класса ....................................... 195 Метод main()............................................................ 196 Где видны переменные ............................................ 196 Вложенные классы................................................... 197 Пакеты и интерфейсы .............................................. 197 Структура Javaфайла.............................................. 200 3.2. Введение в Java Builder .............................................. 201 3.2.1. Общие сведения о MATLAB Builder для Java ........... 201 3.2.2. Графический интерфейс пользователя MATLAB Builder для Java .............................................................. 203 3.2.3. Создание компонента Java ................................... 205 3.2.4. Использование командной строки для создания компонента .................................................................... 208 3.2.5. Разработка приложения, использующего компонент ...................................................................... 210 3.2.6. Обсуждение примера магического квадрата ......... 213 3.3. Массивы MATLAB в Java ............................................. 214 3.3.1. Использование методов класса MWArray ............... 215 Построение MWArray ............................................... 216 Методы получения информации о MWArray.............. 216 Методы получения и задания данных в MWArray ....... 218 Методы копирования, преобразования и сравнивнения массивов MWArray .......................... 220
Создание Windowsприложений 10 Методы для использования на разреженных массивах MWArray.................................................... 221 3.3.2. Использование MWNumericArray ........................... 222 Построение различных типов числовых массивов.... 223 Методы уничтожения MWNumericArray..................... 227 Методы для получения информации о MWNumericArray.................................................... 227 Методы доступа к элементам и задания элементов MWNumericArray .................... 228 Методы копирования, преобразования и сравнения массивов MWNumericArray ................... 232 Методы возвращения значений специальных констант .................................................................. 233 Методы toTypeArray и getTypeArray преобразования массивов данных ........................... 234 Методы работы с разреженными массивами MWNumericArray ...................................................... 235 3.3.3. Работа с логическими, символьными и массивами ячеек ......................................................... 237 3.3.4. Использование MWClassID .................................... 239 Поля MWClassID ....................................................... 240 Методы класса MWClassID ....................................... 240 3.3.5. Использование класса MWComplexity .................... 240 3.4. Примеры приложений Java ......................................... 241 3.4.1. Пример спектрального анализа ............................. 241 Построение компонента .......................................... 241 Разработка приложения, использующего компонент ............................................................... 244 3.4.2. Пример матричной математики............................. 248 Построение компонента .......................................... 251 Разработка приложения, использующего компонент ............................................................... 250 3.5. Некоторые вопросы программирования ..................... 255 3.5.1. Импорт классов и создание экземпляра класса..... 255
Содержание 11 3.5.2. Правила обращения к методам Java Builder ........... 255 Стандартный интерфейс.......................................... 256 Интерфейс mlx......................................................... 257 3.5.3. Правила преобразования данных MATLAB и Java ... 258 Автоматическое преобразование в тип MATLAB ....... 259 Преобразование типов данных вручную ................... 260 3.5.4. Аргументы методов Java Builder ............................ 262 Передача неопределенного числа параметров ........ 262 Получение информации о результатах методов ....... 264 Передача объектов Java по ссылке .......................... 266 3.5.5. Обработка ошибок ................................................ 266 Обработка исключений MWException ....................... 266 Обработка общих исключений ................................. 268 3.5.6. Управление собственными ресурсами .................. 269 Использование «сборки мусора» JVM ...................... 269 Использование метода dispose ................................ 269 3.6. Среда проектирования JBuilder .................................. 271 3.7. Примеры создания приложений с использованием классов Java Builder ............................. 277 3.7.1. Объем nмерного шара и площадь (n1)мерной сферы ...................................... 278 Создание компонента Java Builder ........................... 278 Создание приложения JBuilder ................................ 279 Создание пакета для распространения приложения ........................... 283 3.7.2. Магический квадрат .............................................. 285 Глава 4. MATLAB Builder для Excel.................. 291 4.1. Введение ................................................................... 292 4.1.1. Создание компонента для Excel ............................ 294 4.1.2. Установка компонента на другие машины.............. 297
Создание Windowsприложений 12 4.1.3. Мастер функций .................................................... 298 4.1.4. Работа с компонентами в Excel .............................. 303 4.2. Общие вопросы создания компонент Excel Builder...... 305 4.2.1. Процедура создания компонента .......................... 305 4.2.2. Регистрация компонента ....................................... 306 4.2.3. Разработка новых версий ...................................... 307 4.3. Пример создания дополнения для спектрального анализа ............................................... 308 4.3.1. Построение компонента ........................................ 308 4.3.2. Подключение компонента к Excel с использованием VBA.................................................... 311 4.3.3. Создание формы Visual Basic................................. 314 4.3.4. Добавление пункта меню Spectral Analysis в Excel .... 317 4.3.5. Тестирование дополнения .................................... 319 4.3.6. Упаковка и распространение дополнения.............. 320 4.3.7. Обсуждение программы VBA ................................. 321 4.3.8. Использование флагов .......................................... 324 4.4. Библиотека утилит Excel Builder.................................. 326 4.4.1. Функции MATLAB Builder для Excel ......................... 326 4.4.2. Библиотека утилит Excel Builder............................. 327 Класс MWUtil ............................................................ 328 Класс MWFlags ......................................................... 328 Class MWStruct ......................................................... 330 Класс MWField.......................................................... 330 Класс MWComplex.................................................... 330 Class MWSparse ....................................................... 331 Класс MWArg............................................................ 331 Перечисления.......................................................... 332 4.5. Справка по VBA .......................................................... 333
Содержание 13 Глава 5. Создание компонентов для .NET при помощи .NET Builder ..................................... 341 5.1. Среда разработки Microsoft .NET ................................ 342 5.1.1. Основные элементы платформы Microsoft .NET ..... 342 Новые понятия......................................................... 343 5.1.2. Среда выполнения .NET Framework ....................... 346 5.1.3. Стандартная система типов .................................. 347 5.1.4. Общая спецификация языков программирования .... 349 5.2. Основы языка C#........................................................ 349 5.2.1. Элементы синтаксиса языка C#............................. 350 Алфавит и слова C# ................................................. 350 Структура программы C#......................................... 351 Переменные и константы C#.................................... 352 Объявление переменных. Область видимости и время жизни ......................................................... 353 5.2.2. Система типов ...................................................... 354 Значимые и ссылочные типы.................................... 355 Системные встроенные типы ................................... 356 Приведение типов ................................................... 357 Логический тип ........................................................ 359 Строковые и символьные типы ................................ 359 Перечисления.......................................................... 360 Организация системы типов .................................... 361 5.2.3. Массивы ............................................................... 362 5.2.4. Операции и выражения ......................................... 365 5.2.5. Управление последовательностью выполнения операторов .................................................................... 367 Оператор if...else условного перехода...................... 367 Оператор switch ....................................................... 368 Оператор цикла while ............................................... 369 Оператор цикла do... while ........................................ 369
Создание Windowsприложений 14 Оператор цикла for .................................................. 370 Операторы break и continue ..................................... 370 5.2.6. Класс и структура .................................................. 371 Классы..................................................................... 371 Структуры ................................................................ 375 Интерфейсы ............................................................ 375 5.2.7. Отражение ............................................................ 376 5.3. Введение в .NET Builder .............................................. 377 5.3.1. Библиотека классов .NET MWArray......................... 379 5.3.2. Правила преобразования данных .......................... 381 5.3.3. Интерфейсы, создаваемые .NET Builder ................ 384 5.3.4. Задание сборки компонента и пространства имен ... 387 5.4. Создание консольный приложений............................. 387 5.4.1. Пример магического квадрата............................... 388 Создание .NET компонента ...................................... 388 Использование компонента в приложении............... 391 5.4.2. Пример матричной математики............................. 395 Создание .NET компонента ...................................... 395 Использование компонента в приложении............... 396 5.4.3. Использование командной строки для создания компоненты .NET....................................... 400 5.5. Некоторые вопросы программирования с компонентами .NET Builder ............................................. 402 5.5.1. Обязательные элементы программы ..................... 402 5.5.2. Передача входных параметров .............................. 404 Примеры передачи входных параметров ................. 405 Передача массива вводов........................................ 406 Обработка глобальных переменных MATLAB ............ 407 Обработка возвращаемых значений ........................ 407 Использование запросов MWArray ........................... 408 5.5.3. Обработка ошибок ................................................ 409 5.5.4. Управление родными ресурсами ........................... 410
Содержание 15 5.5.5. Преобразования между типами C# и MWNumericArray .......................................................... 412 Преобразование скаляров ....................................... 412 Преобразование векторов ....................................... 413 Преобразование матриц.......................................... 414 5.6. Среда разработки Visual Studio 2005........................... 415 5.6.1. Создание нового проекта ...................................... 419 5.7. Программирование на Visual Studio 2005 с использованием математических процедур MATLAB ...... 420 5.7.1. Вычисление интегралов ........................................ 421 Создание .NET компонента ...................................... 421 Создание приложения ............................................. 422 5.7.2. Решение обыкновенных дифференциальных уравнений ...................................................................... 429 Создание .NETкомпонента ODE ............................... 429 Создание Windowsприложения ............................... 432 5.7.3. Открытие, обработка и сохранение файлов ........... 440 Создание .NETкомпонента....................................... 440 Создание приложения ............................................. 442 Предметный указатель ........................................ 450 Содержание компактдиска.............................. 451 Литература ................................................................. 455
Предисловие Как известно, система MATLAB® является одной из наиболее мощных универсальных систем компьютерной математики. Возможности системы MATLAB уникальны. Список основных функций MATLAB (не включая специализированных функций пакетов расширений) содержит более 1000 наименований. Кроме встроенных процедур, система MATLAB имеет чрезвычайно легкий в использовании язык программирования высокого уровня, основанный на таких мощных типах данных, как многомерные числовые массивы, массивы символов, ячеек и структур MATLAB. Программы, написанные на mязыке MATLAB работают только в среде MATLAB, однако в системе MATLAB предусмотрены возможности создания приложений на других языках программирования, которые используют процедуры, написанные на mязыке MATLAB. До выпуска MATLAB 6.5 для этих целей предназначались математические библиотеки С/С++ MATLAB, которые позволяли создавать автономные С/С++ приложения, использующие функции MATLAB. Начиная с выпуска MATLAB 7, корпорация MathWorks отказалась от дальнейшего использования математических библиотек С/С++, существенно изменив и расширив возможности пакета расширения MATLAB Compiler – Компилятора MATLAB. При этом были разработаны такие расширения MATLAB Compiler, как: MATLAB Builder for Java – паект расширения для создания и использования компонентов для языка Java; MATLAB Builder for Excel – паект расширения для создания и использования дополнений (AddIns) Excel; MATLAB Builder for .NET – паект расширения для создания и использования компонентов в среде .NET Framrwork. Для обеспечения работы компонентов, созданных Компилятором MATLAB, разработана универсальная среда MCR исполнения компонентов MATLAB. Программа, созданная на других языках программирования и использующая скомпилированные функции MATLAB, выполняется только с MCR. Сама система MATLAB для работы приложения не требуется. Созданные компоненты MATLAB и приложения, их использующие, могут свободно распространяться вместе со средой исполнения MCR. В данной книге рассматривается использование Компилятора MATLAB и его расширений: MATLAB Builder for Java, MATLAB Builder for Excel и MATLAB Builder for .NET. Данное издание является продолжением книги [ППС], в которой изложены математические библиотеки С/С++ MATLAB и показано их использование для создания Windowsприложений на Borland C++ Builder. Особенности программирования для систем, отличных от Windows, можно найти в документации MATLAB®. Рассмотрим кратко содержание данной книги по главам. Первая глава содержит первоначальные сведения о системе MATLAB. Она предназначена для читателей, которые владеют программированием, но не на MATLAB. Глава содержит описание работы с числовыми массивами, массива
Предисловие 17 ми символов, ячеек и структур, а также основы программирования в среде MATLAB. Вторая глава посвящена описанию пакета расширения MATLAB Compiler версии 4.6 (для MATLAB R2007a). Возможности Компилятора огромны. Компилятор MATLAB поддерживает почти все функциональные возможности MATLAB. Компилятор MATLAB из mфайлов MATLAB может создать C или C++ автономные консольные приложения и библиотеки общего доступа (dll). Изложение материала сопровождается обсуждением тестовых примеров MATLAB (эти примеры входят в инсталляционный пакет MATLAB Compiler). В конце главы дано краткое описание математических библиотек С/С++ MATLAB 6.5 и приведены примеры их использования. Глава 3 посвящена созданию компонентов для Java и приложений Java, которые используют компоненты MATLAB. Вначале кратко излагаются необходимые сведения о языке Java. Подробно на примерах рассматривается создание компонентов и консольных Javaприложений, которые используют созданные компоненты (учебные примеры MATLAB). В конце главы подробно рассмотрено создание Windowsприложений на Borland JBuilder, которые используют упакованные в компоненты процедуры MATLAB. В главе 4 рассматривается создание компонентов для Excel и VBAприложений, которые используют эти компоненты MATLAB. Система MATLAB предлагает свое, фирменное, дополнение к Excel для использования при работе в Excel скомпилированных функций MATLAB. Это дополнение называется «Мастер функций». Рассмотрена работа с Мастером функций. Кроме того, рассмотрено создание на VBA собственных дополнений для решения различных математических задач с данными Excel. Глава 5 посвящена созданию .NETкомпонентов и приложений .NET, которые используют компоненты MATLAB. Вначале кратко излагаются необходимые сведения о .NET Framework и языке программирования C#. Подробно на примерах рассматривается создание компонентов и консольных C#приложений, которые используют созданные компоненты (учебные примеры MATLAB). В конце главы подробно рассмотрено создание Windowsприложений на Visual Studio 2005, которые используют процедуры MATLAB. Книга имеет приложение в виде компактдиска с исходными текстами примеров программ, рассматриваемых в данной книге. Книга предназначена студентам и преподавателям ВУЗов по специальностям, близким к прикладной математике, профессиональным программистам, которые сталкиваются с проблемами реализации математических алгоритмов и MATLABпрограммистам, которые хотят использовать другие языки программирования для реализации алгоритмов MATLAB в виде законченных и независимых от MATLAB приложений. Освоение технологии использования колоссальных математических возможностей MATLAB в других языках программирования позволит создавать полноценные Windowsприложения с развитой графической средой, в которых возможна
Создание Windowsприложений 18 реализация сложных математических алгоритмов для решения научнотехнических задач. Книга написана при содействии корпорации MathWorks в соответствии с программой MathWorks поддержки книг, посвященных MATLAB®. Автор выражает благодарность компании MathWorks за предоставленную возможность использования документации и лицензионного программного обеспечения MATLAB® R2007a для написания этой книги.
Глава 1 Основы работы в системе MATLAB® 1.1. Система компьютерной математики MATLAB®................ 20 1.2. Основы работы с MATLAB® ................................ 31 1.3. Массивы символов.............. 49 1.4. Массивы ячеек .................... 55 1.5. Массивы структур ............... 62 1.6. Программирование в среде MATLAB ......................... 67
Основы работы в системе MATLAB® 20 MATLAB® – это одна из старейших систем компьютерной математики, построенная на применении матричных операций. Название MATLAB происходит от слов matrix laboratory (матричная лаборатория). Матрицы широко применяются в сложных математических расчетах. Однако в настоящее время MATLAB далеко вышла за пределы специализированной матричной системы и стала одной из наиболее мощных универсальных систем компьютерной математики. В MATLAB используются такие мощные типы данных, как многомерные числовые массивы, массивы символов, ячеек и структур, что открывает широкие возможности применения системы во многих областях науки и техники. В данной главе мы кратко рассмотрим некоторые вопросы работы в системе MATLAB. Описание системы MATLAB® и ее применения к решению различных задач математического анализа, обработки данных, решения дифференциальных уравнений и к графике можно найти в Help MATLAB и в любом руководстве по MATLAB, см. например [ККШ], [Пот], [ЧЖИ], [Кр], [Ма], [Ко], [Д], [ГЦ], [Ан] и [ППС]. Отметим также интернетресурсы [W]. 1.1. Система компьютерной математики MATLAB® Система MATLAB® была разработана в конце 70х гг. и широко использовалась на больших ЭВМ. В дальнейшем были созданы версии системы MATLAB для персональных компьютеров с различными операционными системами и платформами. К расширению системы были привлечены крупнейшие научные школы мира в области математики, программирования и естествознания. Одной из основных задач системы является предоставление пользователям мощного языка программирования высокого уровня, ориентированного на математические расчеты и способного превзойти возможности традиционных языков программирования для реализации численных методов. Система MATLAB® объединяет вычисление, визуализацию и программирование в удобной для работы окружающей среде, где задачи и решения выражаются в привычном математическом виде. Обычные области использования MATLAB: математика и вычисления, разработка алгоритмов, моделирование, анализ данных и визуализация, научная и техническая графика, разработка приложений. В университетских кругах MATLAB® – это стандартный учебный инструмент для вводных и продвинутых курсов в математике, в прикладных исследованиях и науке. В промышленности, MATLAB – это инструмент высокой производительности для исследований, анализа и разработки приложений. Поразительная легкость модификации системы и возможность ее адаптации к решению специфических задач науки и техники привели к созданию десятков пакетов прикладных программ (Toolboxes), намного расширивших сферы применения системы. Пакеты расширений представляют собой обширные библиотеки функций MATLAB® (mфайлы), которые созданы для использования MATLAB в решении специальных задач. Пакеты расширения (их число более 50) включают такие инте
ресные области, как обработка сигналов, системы управления, нейронные сети, нечеткая логика, биоинформатика, вейвлеты, моделирование и много других. Возможности системы MATLAB® уникальны. Список основных функций MATLAB® (не включая специализированных функций пакетов расширений) содержит более 1000 наименований. 1.1.1. Основные компоненты системы MATLAB Система MATLAB состоит из пяти главных частей. Среда разработки. Это набор инструментов и средств обслуживания, которые помогают использовать функции и файлы MATLAB. Многие из этих инструментов – графические пользовательские интерфейсы. Среда разработки включает рабочий стол MATLAB и командное окно, окно истории команд, редакторотладчик, и браузеры для просмотра помощи, рабочего пространства, файлов и путей поиска. Библиотека математических функций MATLAB. Это обширное собрание вычислительных алгоритмов от элементарных функций типа суммы, синуса, косинуса и комплексной арифметики, до более сложных функций типа транспонирования, обращения матриц, нахождения собственных значений матриц, функций Бесселя и быстрого преобразования Фурье. Язык MATLAB. Это язык высокого уровня, основанный на работе с матричными массивами, с функциями управления потоками, структурами данных, вводом/выводом и объектноориентированным программированием. Он позволяет быстро и легко освоить создание небольших программ, а также имеется возможность создания полных и сложных прикладных программ. Графика. MATLAB имеет обширные средства для графического отображения векторов и матриц, а также создания аннотаций и печати этих графиков. Графика MATLAB включает функции высокого уровня для двумерной и трехмерной визуализации данных, обработки изображений, анимации, и презентационной графики. Графика MATLAB также включает функции низкого уровня, которые позволяют полностью настроить вид графики и создавать законченные графические интерфейсы пользователя на ваших приложениях MATLAB. MATLAB API (Application Program Interface, интерфейс прикладного программирования). Это библиотека, которая позволяет писать программы C и Fortran совместно с MATLAB. API включает средства для вызова подпрограмм из MATLAB (динамическая связь), вызывая MATLAB как вычислительный механизм, и для чтения и записи MATфайлов. 1.1.2. Инструментальные средства рабочего стола MATLAB При запуске MATLAB, появляется рабочий стол MATLAB. Он содержит инструменты (графические пользовательские интерфейсы) для управления файлами, переменными и приложениями, связанными с MATLAB. Рабочий стол MATLAB имеет вид как на рис. 1.1.1. Система компьютерной математики MATLAB®
Основы работы в системе MATLAB® 22 Инструментальные средства рабочего стола MATLAB включают следующие компоненты: • командное окно (Command Window); • браузер рабочей области (Workspace Browser); • редактор массива (Array Editor); • история команд (Command History); • браузер текущего каталога (Current Directory Browser); • кнопка старта (Start); • браузер справки (Help Browser); • редактор/отладчик (Editor/Debugger); • профилировщик (Profiler). Замечание 1. Некоторые характеристики для настольных инструментальных средств можно определить, выбирая Preferences из меню File. Рассмотрим подробнее инструментальные средства рабочего стола. Командное окно (Command Window). Используется для ввода команд, переменных и выполнения функции и mфайлов. Команду можно вызвать в строке ввода – это последняя строка с символом приглашения (>>). Выполненная команда перестает быть активной, она недоступна для редактирования. Ранее исРис. 1.1.1. Рабочий стол MATLAB Рабочая область История команд Строка ввода функции Текущий каталог Командное окно
Доступ онлайн
В корзину