Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Работа_КоролеваАлександра_УТС_Заоч2Курс_СКМ__.docx
Скачиваний:
12
Добавлен:
13.02.2018
Размер:
1.21 Mб
Скачать

Министерство образования и науки Российской Федерации

Федеральное государственное бюджетное образовательное учреждение высшего образования

Санкт-Петербургский государственный лесотехнический университет имени С.М. Кирова

Отчет

По дисциплине: «СИСТЕМЫ КОМПЬЮТЕРНОЙ МАТЕМАТИКИ»

Ответы на вопросы

Выполнил:

Королев Александр Анатольевич

студент ИУиЭЛС

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

>>