- •Министерство образования и науки Российской Федерации
- •Функция conv()
- •1.2.5. Функция polyval ()
- •1.3. Операции с передаточными функциями звеньев
- •1.3.1. Сложение передаточных функций
- •1.3.3. Функция series ()
- •1.3.5. Функция feedback ()
- •Алгебра вектор и матриц Создание векторов и матриц
- •Изменение размера вектора или матрицы
- •Математические операции с векторами и матрицами
Министерство образования и науки Российской Федерации
Федеральное государственное бюджетное образовательное учреждение высшего образования
Санкт-Петербургский государственный лесотехнический университет имени С.М. Кирова
Отчет
По дисциплине: «СИСТЕМЫ КОМПЬЮТЕРНОЙ МАТЕМАТИКИ»
Ответы на вопросы
Выполнил:
Королев Александр Анатольевич
студент ИУиЭЛС
2 курса, Заочное отделение
№ зачетной книжки 56186
Проверил:
доц. Втюрин В.А.
Санкт-Петербург
2016 - 2017 уч. год.
Системы компьютерной математики
Что такое СКМ?
СКМ – Системы компьютерной математики.
Под универсальной СКМ понимаются, как правило, программные продукты, позволяющие проводить алгебраические преобразования над объектами достаточно общей, в математическом смысле, природы.
Как различаются СКМ?
Одно из основных отличий СКМ от традиционных систем программирования связано с процессом численного решения уравнений. Обычно значения вычисляются в 2 этапа, в начале вместо входящих в выражения переменных подставляются их значения, а затем вычисляется все выражение.
СКМ же, например, при решении линейных алгебраических уравнений выделит все его точные рациональные и алгебраические решения, даже если коэффициенты уравнения зависят от буквенных параметров, в то время как, самое большее на что можно рассчитывать, используя численные методы – это протабулировать решение уравнения при различных значениях этих параметров.
Что умеют СКМ?
Возможности, представляемые пользователю современными СКМ охватывают многие разделы алгебры и математического анализа. Во многих системах можно выполнять:
– арифметические операции с целыми (произвольной длины), рациональными, действительными и комплексными числами;
– алгебраические операции с полиномами и рациональными функциями одной или нескольких переменных;
– вычислять наибольший общий делитель полиномов;
– выполнять факторизацию над полем рациональных чисел.
Многие действия математического анализа доступны СКМ:
– дифференцирование, включая нахождение частных производных;
– интегрирование элементарных функций;
– разложение в ряды и многое др.
В СКМ имеются встроенные операции над матрицами с символьными элементами:
– сложение, умножение;
– обращение матриц;
– вычисление определителей;
– решение систем линейных алгебраических уравнений.
Пользователь СКА обладает возможностью:
– управлять процессом упрощения математических выражений;
– выполнять подстановки;
– выделять части формул;
– получать численные значения формул.
Какие знаете известные СКМ, и дать им краткую характеристику?
Наиболее известными на сегодняшний день среди универсальных СКМ являются MatLab, MathCAD, Maple, Mathematica и Derive.
MATLAB выполняет множество компьютерных задач для поддержки научных и инженерных работ, начиная от сбора и анализа данных до разработки приложений. Среда MATLAB объединяет математические вычисления, визуализацию и мощный технический язык. Встроенные интерфейсы позволяют получить быстрый доступ и извлекать данные из внешних устройств, файлов, внешних баз данных и программ.
MATLAB имеет широкий спектр применений, включая цифровую обработку сигналов и изображений, проектирование систем управления, естественные науки, финансы и экономику, а также приборостроение. Открытая архитектура позволяет легко использовать MATLAB и сопутствующие продукты для исследования данных и быстрого создания конкурентоспособных пользовательских инструментов.
Основные функции:
– быстрые и точные численные алгоритмы;
– графика для анализа и отображения данных;
– интерактивный язык и среда программирования;
– инструменты для настройки пользовательских интерфейсов;
– интерфейсы с внешними языками, такими как С, С++, Fortran и Java;
– поддержка импорта данных из файлов и внешних устройств плюс доступ к базам данных и вспомогательному оборудованию при помощи приложений;
– преобразование MATLAB приложений в С и С++.
Численные алгоритмы быстрые, точные и надежные. Эти алгоритмы, разработанные экспертами в математике, являются фундаментом языка MATLAB. Математика оптимизирована для матричных и векторных операций, так что она может быть использована вместо языков более низкого уровня, подобных С и С++, при этом получается та же скорость вычислений при значительной экономии времени на программирование.
Mathcad– это многофункциональная интерактивная вычислительная система, позволяющая, благодаря встроенным алгоритмам, решать аналитически и численно большое количество математических задач не прибегая к программированию. Рабочий документ Mathcad – электронная книга с живыми формулами, вычисления в которой производятся автоматически в том порядке, в котором записаны выражения. Отличается простым и удобным интерфейсом, написанием выражений стандартными математическими символами, хорошей двух- и трехмерной графикой, возможностью подключения к распространенным офисным и конструкторским программам, а также к Internet.
Программа Mathcad сочетает в себе набор мощных инструментов для технических расчетов с полиграфическим качеством написания формул и гибкий, полнофункциональный текстовый редактор. С помощью эффективной среды решения задач программы Mathcad можно выполнять работу и демонстрировать результаты в одном и том же документе – на рабочей страннице Mathcad. В отличие от другого технического программного обеспечения Mathcad осуществляет математические расчеты в той же последовательности в которой Вы их записываете. Вводятся уравнения, данные для построения графика функции и текстовые примечания в любом месте страницы, при этом математические выражения в Mathcad записываются в полиграфическом формате. Единственная разница с обычным текстом, включающим математические формулы и графики состоит в том, что Mathcad уравнения и графики – «живые». Изменение значений переменных, данных графика или уравнений приведет к немедленному перевычислению рабочей страницы.
Maple– это мощная вычислительная система, предназначенная для выполнения сложных вычислительных проектов как аналитическими так и численными методами. Maple содержит проверенные, надежные и эффективные символьные и численные алгоритмы для решения огромного спектра математических задач, включая широко известные библиотечные численные алгоритмы компании NAG (NumericAlgorithmGroop). Maple умеет выполнять сложные алгебраические преобразования и упрощения над полем комплексных чисел, находить конечные и бесконечные суммы, произведения, пределы и интегралы, решать в символьном виде и численно алгебраические (в том числе трансцендентные) системы уравнений и неравенств, находить все корни многочленов, решать аналитически и численно системы обыкновенных дифференциальных уравнений и уравнений в частных производных. В Maple включены пакеты подпрограмм для решения задач линейной и тензорной алгебры, Евклидовой и аналитической геометрии, теории чисел, теории вероятностей и математической статистики, комбинаторики, теории групп, интегральных преобразований, численной аппроксимации и линейной оптимизации (симплекс метод) а также задач финансовой математики и многих, многих других задач.
Maple обладает также развитым языком программирования. Это дает возможность пользователю самостоятельно создавать команды и приложения и таким образом расширять возможности Maple для решения специальных задач.
Для технических применений в Maple включены справочники физических констант и единицы физических величин с автоматическим пересчетом формул. Хороший текстовый редактор, полиграфическое качество формул и превосходная двух- и трехмерная графика позволяют профессионально оформить выполненную работу и сохранить ее либо в виде электронного документа (HTML) для опубликования в Интернет либо стандартного текстового документа (rtf).
Mathematicaявляется одной из универсальных математических систем, которая дает возможность решать большое количество весьма сложных задач не вдаваясь в сложности программирования. В ряду себе подобных Mathematica является одной из самых мощных и детально разработанных. С ее помощью легко осуществляются численные и символьные вычисления. Сильной стороной системы, выгодно отличающей ее от остальных, является двух и трехмерная графика, применяемая для визуализации кривых и поверхностей в трехмерном пространстве.
В среде Mathematica содержится язык программирования современного высокого уровня с более емким и естественным функциональным стилем и стилем правил преобразований.
Система интерактивна (то есть работает в режиме постоянного диалога с пользователем). Она гибка и универсальна в том смысле, что может быть использована всеми желающими, как студентами, так и профессионалами математиками и другими специалистами, работа которых связана с математикой.
DERIVE – самая маленькая из систем компьютерной алгебры. Последняя версия Derive под MS-DOS может работать на «древних» ПК даже без жесткого диска, целиком помещаясь на загрузочной дискете. При этом система имеет многооконный интерфейс и управляется простой системой меню. Derive тщательно опробованная, надежная и быстрая система. Ядро Derivecодержит около 1000 функций и 23 тысячи строк программного кода. Удивительная компактность ядра связана с использованием языка программирования экспертных систем LISP.
Derive является универсальной математической системой, ориентированной на решение широкого круга математических и научно-технических задач. Современные версии Derive – это расширяемые системы, способные легко адаптироваться под решение специальных задач. Они поставляются с развитой библиотекой функций, существенно расширяющей возможности системы. Derive позволяет готовить расширения и записывать их в виде файлов.
Формат представления вещественных чисел
Арифметические операции
1.Сложение:
» 320+10
ans =
330
2.Умножение:
» 7^3
ans =
21
» t=ans^0.3
t =
6.3
Комплексные числа
1.Зададим комплексные числа:
» а=2 + i
а =
2 + li
» b = 5 - 4i
b =
5 - 4i
2.Вычислим произведение комплексных чисел
» а* b
ans =
14 - 3i
3.Вычислим√a
» d = sqrt(a)
d = 1.4553 + 0.3436i
4.Вычислим b3
» b^3
ans =
-1.1500e+002 -2.3600e+002i
5.Вычислим | a |
» abs(a)
ans = 2.2361
6.Вычислим действительную (re(b)) и мнимую (im(b)) части комплексного числа
» real(b)
ans =
5
» imag(b)
ans =
-4
7.Вычислим аргумент комплексного числа (arg(a))
>> angle(a)
>> a=2+i
a =
2.0000 + 1.0000i
>>angle(a)
ans =
0.4636
>> b = 5 - 4i
b = 5.0000 - 4.0000i
8.Вычислим число комплексно сопряженное числу b
>>conj(b)
ans =
5.0000 + 4.0000i
9.Вычислимsin(a)
>>sin(a)
ans =
1.4031 - 0.4891i
Векторы и матрицы
1.Зададим вектор-строку:
>> u1=[3 3 3]
u1 =
3 3 3
>>whos u1
Name Size Bytes Class
u1 1x3 24 double array
Grand total is 3 elements using 24 bytes
2.Зададим вектор-столбец:
>> u2=[2;1;-2]
u2 =
3
2
-4
>>whos u2
Name Size Bytes Class
u2 3x1 24 double array
Grand total is 3 elements using 24 bytes
3.Зададим, вектор с использованием числового диапазона:
>>dialp=4.6:0.7:6.546;
>>dialp
dialp =
4.6000 5.3000 6.0000
>>length(dialp)
ans =
3
4. Вычислим скалярное произведение векторов
>> a=[2 3 5];
>> b=[5 7 1];
>> a*b'
ans =
36
5. Поэлементное умножение векторов
>> a=[2 3 5];
>> b=[5 7 1];
>> a.*b
ans =
10 21 5
6. Создадим матрицу
>> A=[-3 4 6;2 -2 4;-5 8 7]
A =
-3 4 6
2 -2 4
-5 8 7
7. Выделим заданный столбец матрицы
>> A(:,1)
ans =
-3
2
-5
8. Выделим заданную строку матрицы
>>A(2,:)
ans =
2 -2 4
9.Выделим определитель матрицы
>>det(A)
ans =
38
10.Вычислим обратную матрицу
>>inv(A)
ans =
-1.2105 0.5263 0.7368
-0.8947 0.2368 0.6316
0.1579 0.1053 -0.0526
Элементарные функции
>> x=0:0.06:pi/2;
>> y=cos(x);
>>whos x y
Name Size Bytes Class Attributes
x 1x27 216 double
y 1x27 216 double
Grand total is 316 elements using 2528 bytes
>> Аналогично вычисляются функции от двумерных массивов:
>> A=[3 pi/5; pi/3 pi/4; 7*pi/2 5*pi/5]
A =
3.0000 0.6283
1.0472 0.7854
10.9956 3.1416
>>sin(A)
ans =
0.1411 0.5878
0.8660 0.7071
-1.0000 0.0000
Функция tf()
Функция имеет вид:
tf (n, m)
где:
n – вектор коэффициентов числителя передаточной функции;
m – вектор коэффициентов знаменателя передаточной функции.
Она служит для образования передаточной функции звеньев и системы в целом.
Пример 1.1.
Необходимо образовать передаточную функцию (объект деревообработки – лесосушильная камера)
>> n=[0,21]; >> s=[198 341 3]; >> W=tf(n,s)
Transfer function: 21 ------------------- 198 s^2 + 341 s + 3
|
Функции pole() и zero()
Функции предназначены для определения, соответственно, полюсов и нулей передаточной функции G(S). Они имеют вид:
pole (W)
zero (W)
гдеW – имя передаточной функции, заданной оператором tf.
Напомним, что нулями передаточной функции называются корни числителя, а полюсами – корни знаменателя.
Пример 1.2
>> W=tf([0.21],[198 341 3]); >> P=pole(W)
P=pole(W) P = -1.7134 -0.0088 |
Функции roots() и poly()
Функции предназначены, соответственно, для вычисления корней полинома и его восстановления по значениям корней. Эти функции имеют вид:
roots (Р)
poly (г)
где:
♦ р – вектор коэффициентов полинома;
♦ г – вектор корней полинома.
Пример 1.3
P=[9 3 4 5]; >> r=roots(P) r = 0.2046 + 0.8405i 0.2046 - 0.8405i -0.7425 >> P=poly(r) P = 1.0000 0.3333 0.4444 0.5556 >> |