Смекни!
smekni.com

«Использование систем компьютерной алгебры в научных и алгебраических вычислениях» (стр. 3 из 4)

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

Действующий личный сайт в WWW.

http://pollylocal.narod.ru/