o subsangn: индексное присваивание( переопределение методов для операторов a(i), a{i}, a.field);
o subindex: индексный дескриптор, т. е. использование объекта класса в качестве целочисленного индекса другого объекта( переопределение методов для x(a));
o end: последний индекс по указанной размерности.
· Переопределение арифметический функций и операторов: функции plus, minus, mtimes…
· Команда clear classes вызывается после каждого переопределения класса, для удаления объектов класса.
· Встроенные функции MATLAB для идентификации объектов классов:
o class(p): определение класса объекта;
o isa(p,’myclass’): проверка принадлежности объекта данному классу;
o isobject(p): выявление принадлежности объекта к какому-нибудь классу MATLAB.
o methods(‘myclass’): вывод списка методов данного класса;
o whos p: вывод подробной информации об объекте;
Пример.
Создадим класс polynom. В классе будут реализованные методы, определяющие функциональное название данного класса.
Для создание объектов класса polynom используем функцию-конструктор. Конструктор будет находится в M-файле с именем @polynom/polynom.m. Данный конструктор создает полином из заданного вектора коэффициентов полинома при убывающих степенях переменно х. В нашем примере мы будем использовать три типа конструктора:
· Конструктор по умолчания. Создадим шаблон объекта, обычно с пустыми полями. В отдельных случая поля инициализируются некторыми значениями.
· Конструктор копирования. Конструктор возвращает копию объекта. При этом в конструкторе будем использовать функцию isa(p,‘polynom’), чтобы определить: является ли входной аргумен объектом данного класса.
· Конструктор с параметрами. Конструктор создает структуру и инициализирует её поля, использую её входные данные. Затем из этой структуры конструируется сам объект класса при помощи встроенной функции class(). У этой функции есть два обязательных параметра. Первый – структура, которая будет представлять объект данные объекта, а второй – текстовая строка, содержащая имя создаваемого класса.
Для преобразования объекта данного класса к другому классу будем использовать функцию конвертор. Имя этой функции и имя её М-файла совпадают с именем класса, к которому она будет преобразовывать исходный объект.
Для преобразования объекта класса polynom обратно в вектор его коэффициентов будем использовать метод double():
Для преобразования объекта к текстовому виду используется метод char(). В нашем примере этот метод определяется в M-файле @polynom/char.m
Преобразование к текстовому виду используется в методе display(), который относится к базовому методу MATLAB. Этот метод вызывается всякий раз, когда в среде MATLAB введено выражение не завершенное точкой с запятой.
Для переопределения основных математических операторов в папке-контейнере, содержащей методы класса, создадим М-файл с именем, соответсвующим имени переопределяемого оператора, и в этом файле определим функцию с этим же именем. Так функция в файле @polynom/plus.m складывает полиномы.
В примере реализованы следующие методы:
· char – преобразование полинома к текстовому виду;
· diff – вычисление производной полинома;
· display – вывод в командное окно;
· double – функция-конвертер полинома в вектор его коэффициентов;
· int – вычисление неопределенного интеграла полинома
· minus – вычитание полиномов;
· mtimes – умножение полиномов;
· plot – построение графика полинома р;
· plus – сложение полиномов;
· polynom – конструктор;
· polyval – вычисление всех корней полинома;
· subsref – операция индексной ссылки, реализующая вычиследние значений полинома в указанных точках.
В настоящее время научное программирование претерпевает серьезную трансформацию: развиваются интегрированные среды, основанные на алгоритмических языках, и растет применение универсальных математических систем (Maple, Mathematica, MATLAB, MatCad и др.). Эти системы имеют дружественный интерфейс, реализуют множество стандартных и специальных математических операций, снабжены мощными графическими средствами и обладают собственными языками программирования.[6] Все это предоставляет широкие возможности для эффективной работы специалистов разных профилей, о чем говорит активное применение математических пакетов в научных исследованиях и в преподавании. С помощью этих пакетов проще готовить и выполнять задания, устраивать демонстрации и гораздо быстрее решать исследовательские и инженерные задачи.
Конечным продуктом исследования выступают публикации, подготовка, распространение и использование которых в настоящее время требует квалифицированного применения компьютера. Это касается редактирования текста, изготовления графических материалов, ведения библиографии, размещения электронных версий в Интернет, поиска статей и их просмотра. Де-факто сейчас стандартными системами подготовки научно-технических публикаций являются различные реализации пакета TeX и текстовый редактор Word. Кроме того, необходимы минимальные знания о стандартных форматах файлов, конверторах, программах и утилитах, используемых при подготовке публикаций.
Математические пакеты Maple и MATLAB — интеллектуальные лидеры в своих классах и образцы, определяющие развитие компьютерной математики. Компьютерная алгебра Maple вошла составной частью в ряд современных пакетов, численный анализ от MATLAB и наборы инструментов (Toolboxes) уникальны. Сами пакеты постоянно совершенствуются, развивая аппарат и пополняя ресурсы. Пакет Maple и вычислительная среда MATLAB — мощные и хорошо организованные системы, надежные и простые в работе. Освоение даже части их возможностей даст несомненный эффект, а по мере накопления опыта придет настоящая эффективность от взаимодействия с ними.[9]
В заключение, отметим, что пользователь пакетов компьютерной математики должен иметь представление об основных численных методах. Вообще говоря, появление современных вычислительных систем значительно облегчает доступ к компьютеру непрофессионалам в области программирования, и поддерживает постоянное стремление к их усовершенствованию и освоению новых компьютерных технологий.
1. В. Говорухин, В. Цибулин. Компьютер в математическом исследовании: Maple, MATLAB, LaTeX. Учебный курс. Издательство "Питер", 2001 г. 624 стр
2. Прохоров Г.В., Леденев М.А., Колбеев В.В. Система аналитических вычислений Maple - М.: Петит, 1997, 200 с.
3. Дьяконов В.П. Математическая система Maple V R3/R4/R5. М.: Солон.- 1998.-400 с.
4. Дьяконов В. П. Справочник по применению системы PC MATLAB. ≈ М.: Физматлит, 1993. 112 с.
5. Потемкин В. Г. Система MATLAB. Справочное пособие. - М.: ДИАЛОГ-МИФИ, 1997 - 350 с.
6. Потемкин В.Г. MATLAB 5 для студентов. Справочное пособие.М: Диалог-МИФИ, 1998. - 314 с.
7. Воробьев Е.М. Введение в систему "Математика". М: Финансы и статистика, 1998. - 262 с.
8. В.З. Аладьев, М.Л. Шишаков. Введение в среду пакета Mathematica 2.2. М: Филинъ, 1997. - 368 с.
9. Дьяконов В.П. Системы символьной математики Mathematica 2 и Mathematica 3. Справочное издание. М.: СК ПРЕСС.- 1998.- 328 c.
10. В.Ф. Очков. MATLAB 7 Pro для студентов и инженеров. М: КомпьютерПресс, 1998. -384 с.
11. Дьяконов В.П. Справочник по MathCAD PLUS 7.0 PRO.М.: CK Пресс, 1998.- 352 c.
12. Дьяконов В. П., Абраменкова И. В. MathCAD 7 в математике, в физике и в Internet. М.: Нолидж.- 1998.- 352 с.
B
Blocksets · 7
M
Maple · 3
MathCAD · 3
Mathematica · 3
MatLab · 3
S
Simulink · 7
О
Оболочка · 8
П
пакет · 6
полином · 12
Ф
Фортран · 6
Я
Ядро · 8
- http://matlab.tutornet.ru/ - Физика и Matlab. Интерактивные задачи по курсу классической электродинамики с использованием Matlab Web Server. Справочная информация по системе Matlab. Разработка физического факультета Новосибирского государственного университета.
- http://www.adubanov.narod.ru/ - Решение геометрических задач в среде Matlab.
- http://matlab.exponenta.ru/ - Консультационный Центр Matlab.
- http://matlab.exponenta.ru/forum - форум пользователей системы Matlab.
- http://mathmod.narod.ru/ - Виртуальная лаборатория математического моделирования.
- http://www.mathtools.net/ - научный портал, поддерживаемый MathWorks.
- http://vac.org.by – сайт Высшей аттестационной комиссии Республики Беларусь. Здесь собраны все нормативные акты, касающиеся оформления и защиты диссертаций.
- http://mathnet.ru – это общероссийский математический портал, предоставляющий российским и зарубежным математикам различные возможности в поиске информации о математической жизни в России, здесь так же можно скачать много полезных книг по математике.
- http://mathworld.wolfram.com - один из самых больших веб-сайтов по математике.
- http://planetmath.org – математическая энциклопедия.
- http://wikipedia.org – энциклопедия, в которой можно найти интересующие определения, историческую справку, автобиографии известных людей и т.д.
- http://wolfram.com – официальный сайт компании S.Wolfram Reseach Ltd. Представлены программные продукты, события в жизни компании. Содержит разделы в которых собраны примеры использование программных продуктов компании и т.д.
http://pollylocal.narod.ru/