Автор работы: Пользователь скрыл имя, 18 Марта 2014 в 17:22, курсовая работа
Цель курсовой работы – это изучение основных операций с символьными величинами в среде Matlab.
Для достижения данной цели были поставлены следующие задачи:
изучить понятия переменных и функций;
рассмотреть способы представления матриц и векторов и работа с ними;
показать графическое представление функций в среде Matlab;
систематизировать изученные данные.
ВВЕДЕНИЕ. 3
1 КРАТКИЕ СВЕДЕНИЯ О СИСТЕМЕ MATLAB 4
2 СИМВОЛЬНЫЕ ПЕРЕМЕННЫЕ И ФУНКЦИИ 6
2.1 Определение переменных и функций и работа над ними 6
2.2 Матрицы и векторы 9
2.3 Вычисления с символьными переменным 10
3 ГРАФИЧЕСКОЕ ПРЕДСТАВЛЕНИЕ ФУНКЦИЙ 13
4 УПРОЩЕНИЕ, ПРЕОБРАЗОВАНИЕ И ВЫЧИСЛЕНИЕ ПРИЛОЖЕНИЙ 16
ЗАКЛЮЧЕНИЕ 20
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 21
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ
Учреждение образования
“Брестский государственный университет имени А. С. Пушкина”
Математический факультет
Кафедра математического моделирования
Курсовая работа
СИМВОЛЬНЫЕ ВЫЧИСЛЕНИЯ В СРЕДЕ MATLAB
Брест 2012
СОДЕРЖАНИЕ
ВВЕДЕНИЕ. 3
1 КРАТКИЕ СВЕДЕНИЯ О СИСТЕМЕ MATLAB 4
2 СИМВОЛЬНЫЕ ПЕРЕМЕННЫЕ И ФУНКЦИИ 6
2.1 Определение переменных и функций и работа над ними 6
2.2 Матрицы и векторы 9
2.3 Вычисления с символьными переменным 10
3 ГРАФИЧЕСКОЕ ПРЕДСТАВЛЕНИЕ ФУНКЦИЙ 13
4 УПРОЩЕНИЕ, ПРЕОБРАЗОВАНИЕ И ВЫЧИСЛЕНИЕ ПРИЛОЖЕНИЙ 16
ЗАКЛЮЧЕНИЕ 20
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 21
ВВЕДЕНИЕ
Данная работа относится к области изучения интегрированной программной системы Matlab для автоматизации математических расчетов, в частности, символьные вычисления в среде Matlab.
Цель курсовой работы – это изучение основных операций с символьными величинами в среде Matlab.
Для достижения данной цели были поставлены следующие задачи:
Объектом исследования являются символьные переменные и функции.
Предмет: вычисления, производимые с символьными переменными и функциями в среде Matlab.
Для решения поставленных нами задач использовался комплекс взаимодополняющих методов исследования: изучение литературы по поставленным вопросам; обобщение и анализ полученных в ходе проведения исследования данных.
1 КРАТКИЕ СВЕДЕНИЯ О СИСТЕМЕ MATLAB
Современная компьютерная математика предлагает целый набор интегрированных программных систем и пакетов программ для автоматизации математических расчетов: Eureka, Gauss, TK Solver!, Derive, Mathcad, Mathematica, Maple V и др. Возникает вопрос: какое место занимает среди них система MATLAB?
MATLAB – одна из старейших, тщательно проработанных и апробированных временем систем автоматизации математических расчетов, построенная на расширенном представлении и применении матричных операций. Это нашло отражение в названии системы (MATrix LABoratory –матричная лаборатория). Однако синтаксис языка программирования системы продуман настолько тщательно, что эта ориентация совсем не ощущается пользователями, которых непосредственно матричные вычисления не интересуют.
Матрицы широко применяются в сложных математических расчетах, например при решении задач линейной алгебры и математического моделирования статических и динамических систем и объектов.
Однако в настоящее время MATLAB далеко вышла за пределы специализированной матричной системы и стала одной из наиболее мощных универсальных интегрированных СКМ (современная компьютерная математика). Слово "интегрированные" указывает на то, что в этой системе объединены удобная оболочка, редактор выражений и текстовых комментариев, вычислитель и графический программный процессор.
В целом MATLAB – это уникальная коллекция реализаций современных численных методов для компьютеров, созданных за последние три десятка лет. Она вобрала в себя опыт, правила и методы математических вычислений, накопленные за тысячи лет развития математики. Это сочетается с мощными средствами графической визуализации и даже анимационной графики.
Система MATLAB была разработана Молером (C.B. Moler) и с конца 70-х годов широко использовалась на больших ЭВМ. К расширению системы были привлечены крупнейшие научные школы мира в области математики, программирования и естествознания.
Одной из основных задач системы было предоставление пользователям мощного языка программирования, ориентированного на математические расчеты и способного превзойти возможности традиционных языков программирования, которые многие годы использовались для реализации численных методов. При этом особое внимание уделялось как повышению скорости вычислений, так и адаптации системы к решению самых разнообразных задач пользователей.
Возможности MATLAB весьма обширны, а по скорости выполнения задач система нередко превосходит своих конкурентов. Она применима для расчетов практически в любой области науки и техники и широко используется при математическом моделировании физических устройств и систем, относящихся к механике, в частности, к динамике, гидродинамике и аэродинамике, акустике и т.д.
Важными достоинствами системы являются ее открытость и расширяемость. Большинство команд и функций системы реализованы в виде текстовых m-файлов (с расширением .m) и файлов на языке C, причем все файлы доступны для модификации. Пользователю дана возможность создавать не только отдельные файлы, но и библиотеки файлов для реализации специфических задач.
Библиотека C Math позволяет пользоваться следующими категориями функций:
При этом все библиотеки MatLab отличаются высокой скоростью численных вычислений. Однако матрицы широко применяются не только в таких математических расчетах, как решение задач линейной алгебры и математического моделирования, обсчета статических и динамических систем и объектов. Они являются основой автоматического составления и решения уравнений состояния динамических объектов и систем. Именно универсальность аппарата матричного исчисления значительно повышает интерес к системе MatLab, вобравшей в себя лучшие достижения в области быстрого решения матричных задач. Поэтому MatLab давно уже вышла за рамки специализированной матричной системы, превратившись в одну из наиболее мощных универсальных интегрированных систем компьютерной математики.
2 СИМВОЛЬНЫЕ ПЕРЕМЕННЫЕ И ФУНКЦИИ
В состав MATLAB входит Symbolic Math Toolbox, предназначенный для вычислений в символьном виде. Преобразование выражений, разыскание аналитического решения задач линейной алгебры, дифференциального и интегрального исчисления, получение численного результата с любой точностью — вот далеко не полный перечень возможностей, предоставляемых данным Toolbox. Функции Symbolic Math Toolbox реализуют интерфейс между средой MATLAB и библиотекой функций, являющихся вычислительным ядром Maple, причем работа в MATLAB не требует установки Maple. Расширение Toolbox позволяет пользователям, имеющим опыт работы в Maple, использовать ресурсы ядра Maple практически в полном объеме, включая и программирование в Maple.
Объектно-ориентированный подход, реализованный в MATLAB, позволил сделать работу с символьными выражениями простой и удобной.
2.1 Определение переменных и функций и работа с ними
Символьные переменные и функции являются объектами класса symobject, в отличие от числовых переменных, которые содержатся в массивах double array. Символьный объект создается при помощи функции syms. Команда
>> syms x a b
создает три символьные переменные х, а и b. Размер памяти, отводимый по умолчанию под символьные переменные, достаточно большой — посмотрим информацию об определенных только что переменных в окне Workspace браузера рабочей среды или вызовем команду whos:
>> whos x a b
Name Size Bytes Class Attributes
a 1x1 126 sym
b 1x1 126 sym
x 1x1 126 sym
Конструирование символьных функций от переменных класса sym object производится с использованием обычных арифметических операций и обозначений для встроенных математических функций, например:
>> f=(sin(x)+a)^2*(cos(x)+b)^2/
f =
((b + cos(x))^2*(a + sin(x))^2)/abs(a + b)^(1/2)
Запись формулы для выражения в одну строку не всегда удобна, более естественный вид выражения выводит в командное окно функция pretty:
>> pretty(f)
2 2
(b + cos(x)) (a + sin(x))
---------------------------
1/2
|a + b|
Определенная функция f также является символьной переменной типа sym object, в чем несложно убедиться при помощи браузера переменных.
Имеющиеся символьные переменные и функции позволяют образовывать новые символьные выражения:
>> syms y
>> g=(exp(-y)+1)/exp(y)
g =
(1/exp(y) + 1)/exp(y)
>> h=f*g
h =
((b+cos(x))^2*(1/exp(y)+1)*(a+
>> pretty(h)
2 2
exp(-y) (b + cos(x)) (exp(-y) + 1) (a + sin(x))
------------------------------
1/2
|a + b|
Символьную функцию можно создать без предварительного объявления переменных при помощи sym, входным аргументом которой является строка с выражением, заключенная в апострофы:
>> z=sym('c^2/(d+1)')
z =
c^2/(d+1)
>> pretty(z)
2
c
-----
d + 1
Замечание:
Для объявления символьных переменных может быть использована функция sym. Команда syms а, b, с эквивалентна последовательности а=sym('a'); b = sym('b'); c = sym('c').
При работе в области комплексных чисел следует указать, что определяемые переменные являются, в общем случае, комплексными.
Комплексные символьные переменные задаются командой syms с опцией unreal. Опция real означает, что переменные интерпретируются как вещественные. Убедимся, что результат символьных вычислений зависит от того, какие символьные переменные используются — вещественные или комплексные. Объявим две вещественные переменные а и b, образуем комплексное число, считая, что а является действительной частью, а b–мнимой, и найдем сопряженное к нему при помощи conj:
>> syms a b real
>> p=conj(a+i*b)
p =
a - b*i
Произведем аналогичные действия, предварительно объявив а и b как комплексные переменные:
>> syms a b unreal
>> q=conj(a+i*b)
q =
conj(a) - i*conj(b)
Обратим внимание на значения символьных переменных р и q.
Использование одних и тех же операторов в символьных и числовых выражениях возможно благодаря тому, что пакет MATLAB является объектно-ориентированной системой. Для сложения чисел и числовых массивов в MATLAB зарезервирован знак +, который приводит к вызову встроенной функции plus, расположенной в подкаталоге \toolbox\matlab\ops\ основного каталога MATLAB. Например, 1.3 + 2.9 и plus(1.3, 2.9) приводят к одинаковому результату.
>> 1.3+2.9
ans =
4.2000
>> plus(1.3,2.9)
ans =
4.2000
Для символьных переменных и функций используется файл-функция с тем же именем plus, находящаяся в подкаталоге \toolbox\symbolic\@sym\ основного каталога MATLAB. Изучить ее содержимое можно, открыв файл plus.m в редакторе MATLAB. В начале оба ее входных аргумента приводятся к символьному типу данных при помощи функции sym, что позволяет складывать символьную переменную с числовой и получить символьный результат. Далее проверяется совпадение размеров входных аргументов, которые могут быть массивами. Последняя строка содержит вызов функции maple, служащей для обращения к соответствующей функции или оператору из ядра пакета Maple — в данном случае символьному сложению.
Говоря на языке объектно-ориентированного программирования, числовые переменные типа double array образуют класс со своими методами (в том числе plus). Для класса символьных объектов sym метод plus переопределен, MATLAB определяет по типу аргумента соответствующий метод класса и выполняет его.
Пользователь MATLAB может создавать собственные классы и определять их методы, в том числе и переопределять методы предка класса.
2.2 Матрицы и векторы
Символьные переменные могут являться элементами матриц и векторов. Элементы строк матриц при вводе отделяются пробелами или запятыми, а столбцов — точкой с запятой, так же как и для обычных матриц. В результате образуются символьные матрицы и векторы, к которым применимы матричные и поэлементные операции и встроенные функции.
>> syms a b c d e f g h
>> A=[a b;c d]
A =
[ a, b]
[ c, d]
>> B=[e f; g h]
B =
[ e, f]
[ g, h]
>> C=A*B
C =
[a*e+b*g, a*f+b*h]
[c*e+d*g, c*f+d*h]
>> F=A*B
F =