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

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

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

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

Отчет

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

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

Выполнил:

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

студент факультета ИУиЭЛС

2 курса, Заочное отделение

зачетной книжки 56186

Проверил:

доц. Втюрин В.А.

Санкт-Петербург

2015 - 2016 уч. год.

Системы компьютерной математики

Что такое СКМ?

СКМ – Системы компьютерной математики.

Под универсальной СКМ понимаются, как правило, программные продукты, позволяющие проводить алгебраические преобразования над объектами достаточно общей, в математическом смысле, природы.

Как различаются СКМ?

Одно из основных отличий СКМ от традиционных систем программирования связано с процессом численного решения уравнений. Обычно значения вычисляются в 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

2.1 Функции MATLAB для создания

передаточных функций звеньев системы

Функция tf()

Процедуры образования передаточной функции W(S) имеют вид:

» n=[0.45];

» m= [14470 268 2] ;

» W=tf(n,m)

После нажатия клавиши <Enter> на экране появится передаточ¬ная функция в виде:

» n=[0.45];

» m= [14470 268 2] ;

» W=tf(n,m)

Transfer function:

0.45

---------------------

14470 s^2 + 268 s + 2

Функции pole()

ФункциюW=tf (n,m) можно также представить в следующем виде:

»W=tf( [0.45], [14470 268 2])

>> P=pole(W)

P =

-0.0093 + 0.0072i

-0.0093 - 0.0072i

Функцииroots() и poly()

Найти корни уравнения 7S3 + 3S2 + 5 и по корням восстановить полином.

В данном случае P=[7 3 0 5] и процедуры решения будут иметь вид:

>> P=[7 3 0 5];

>> r=roots(P)

r =

-1.0620

0.3167 + 0.7565i

0.3167 - 0.7565i

>> P=poly(r)

P =

1.0000 0.4286 -0.0000 0.7143

Функцияconv()

p(s) = 5s2 +6s + 4 и q(s) = 8s + 5

>> p=[5 6 4];

>> q=[8 5];

>> G=conv(p, q)

G =

40 73 62 20

Или

G = 40s3 + 73s2 + 62s + 20

Функцияpolyval ()

P(s) = 5s2 + 6s + 4

При s= -6.

Решение:

>> n=[5 6 4];

>> z=polyval(n, -6)

z =148

Операции с передаточными функциями звеньев

Сложение передаточных функций

Решение:

>> n1=[16];

>> m1=[3 2 8];

>> q1=tf(n1,m1)

Transfer function:

Transfer function:

16

---------------

3 s^2 + 2 s + 8

>> n2=[5 12 30];

>> m2=[2 6 7 1];

>> q2=tf(n2,m2)

Transfer function:

5 s^2 + 12 s + 30

-----------------------

2 s^3 + 6 s^2 + 7 s + 1

>> Q=q1+q2

Transfer function:

15 s^4 + 78 s^3 + 250 s^2 + 268 s + 256

-------------------------------------------

6 s^5 + 22 s^4 + 49 s^3 + 65 s^2 + 58 s + 8

Функцияpz map ()

Transfer function:

15 s^4 + 78 s^3 + 250 s^2 + 268 s + 256

-------------------------------------------

6 s^5 + 22 s^4 + 49 s^3 + 65 s^2 + 58 s + 8

Решение:

>> n=[15 78 250 268 256]; m=[6 22 49 65 58 8];

>> q=tf(n, m)

Transfer function:

15 s^4 + 78 s^3 + 250 s^2 + 268 s + 256

-------------------------------------------

6 s^5 + 22 s^4 + 49 s^3 + 65 s^2 + 58 s + 8

>>pzmap(q)

Рис. 2.7. Определение нулей и полюсов передаточной функци

Функция series ()

Решение:

>> n1=[23465 76 1];

>> m1=[235 0];

>> q1=tf(n1,m1);

>> n2=[0.8];

>> m2=[235 1];

>> q2=tf(n2,m2);

>> Q=series(q1,q2)

Transfer function:

18772 s^2 + 60.8 s + 0.8

------------------------

55225 s^2 + 235 s

Функция parallel ()

Решение:

>> n1=[23465 76 1];

>> m1=[235 0];

>> q1=tf(n1,m1);

>> n2=[0.8];

>> m2=[235 1];

>> q2=tf(n2,m2);

>> Q=parallel(q1,q2)

Transfer function:

5.514e006 s^3 + 41325 s^2 + 499 s + 1

-------------------------------------

55225 s^2 + 235 s

Функция feedback ()

>> n1=[23465 76 1];

>> m1=[235 0];

>> q1=tf(n1,m1);

>> n2=[0.8];

>> m2=[235 1];

>> q2=tf(n2,m2);

>> Q=series(q1,q2)

Transfer function:

18772 s^2 + 60.8 s + 0.8

------------------------

55225 s^2 + 235 s

>>feedback(Q, [1])

Transfer function:

18772 s^2 + 60.8 s + 0.8

-------------------------

73997 s^2 + 295.8 s + 0.8

>> n1=[23465 76 1];

>> m1=[235 0];

>> q1=tf(n1,m1);

>> n2=[0.8];

>> m2=[235 1];

>> q2=tf(n2,m2);

>>feedback(q1,q2,-1)

Transfer function:

5.514e006 s^3 + 41325 s^2 + 311 s + 1

-------------------------------------

73997 s^2 + 295.8 s + 0.8

Алгебра вектор и матриц

Создание векторов и матриц

Пример 1

>> [-4,-6,2, 7,8]

ans =

-4 -6 2 7 8

>> v=[45+7i 8-9i 2]

v =

45.0000 + 7.0000i 8.0000 - 9.0000i 2.0000

Пример 2

>> M = [5 2 8; 2 -4 1; -6 3 8]

После нажатия клавиши <Enter> на экране появится следующая матрица:

M =

5 2 8

2 -4 1

-6 3 8

>> M = [8-4i,2+i,14;6,8,5;i,3,-i]

А теперь матрица выглядит так:

M =

8.0000 - 4.0000i 2.0000 + 1.0000i 14.0000

6.0000 8.0000 5.0000

0 + 1.0000i 3.0000 0 - 1.0000i

Пример 3

>>V = [1:5]

V = 1 2 3 4 5

>> M=[1:3;2:4;7:9]

M =

1 2 3

2 3 4

7 8 9

>> V=[1:0.7:3]

V =

1.0000 1.7000 2.4000

>> M=[2:0.3:2.8;2:0.8:3.7;4:6]

M =

2.0000 2.3000 2.6000

2.0000 2.8000 3.6000

4.0000 5.0000 6.0000

Вызов на экран и замена элементов матрицы

Пример 4

>> v=[2 4 5 8 13];

>> v(5)

ans =

13

>> M=[2,3,6; 4 7 11; -2,8, 4];

>> M(2,2)

ans =

7

Пример 5

>> v(5)=6

v =

2 4 5 8 6

>> M(3,1)=10

M =

2 3 6

4 7 11

10 8 4

Изменение размера вектора или матрицы

Пример 6

Пусть матрица имеет вид

>> M=[2 5 6;3 8 5;4 13 -9]

M =

2 5 6

3 8 5

4 13 -9

Необходимо удалить вторую строку и третий столбец.

Решение будет иметь вид:

>>M(5,:)

ans =

4 13 -9

>> M(:,2)

ans =

5

8

13

Пример 7

Пусть имеются три следующих вектора:

>>V1= [ 4 5 6]

V1 =

4 5 6

>>V2=[2 -6 4]

V2 =

2 -6 4

>>V3=[8 5 3]

V3 =

8 5 3

>>M=[V1;V2;V3]

M =

4 5 6

2 -6 4

8 5 3

>>Z=[M, M+3; M-5, M*2]

Z =

4 5 6 7 8 9

2 -6 4 5 -3 7

8 5 3 11 8 6

-1 0 1 8 10 12

-3 -11 -1 4 -12 8

3 0 -2 16 10 6

4.2.3. Математические операции с векторами и матрицами

Определитель матрицы

Пример 8

>> M=[4 5 -3;2 -7 3;3 4 6];

>>det(M)

ans =

-90

>> M=[1+2i, 3, -2.5;i,-1,5;3,5,0];

>>det(M)

ans =

12.5000 -62.5000i

Транспортирование матрицы

Пример 9

Пусть исходная матрица имеет вид

>> M=[1+2i, 3, -2.5;i,-1,5;3,5,0];

>> Z=M'

Z =

1.0000 - 2.0000i 0 - 1.0000i 3.0000

3.0000 -1.0000 5.0000

-2.5000 5.0000 0

Следматрицы

Пусть матрица имеет вид:

>>M=[3 4 -1; 6 7 8; 2 -3 1]

M =

3 4 -1

6 7 8

2 -3 1

>>M=[3 4 -1; 6 7 8; 2 -3 1];

>>Z=trace(M)

Z = 11

Обратная матрица

Пример 11

>>M=[3 4 -1; 6 7 8; 2 -3 1];

>> Z=inv(M)

Z =

0.1879 -0.0061 0.2364

0.0606 0.0303 -0.1818

-0.1939 0.1030 -0.0182

Единичная матрица

Пример 12

>> M=eye(4)

M =

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

>>M=eye(3,4)

M =

1 0 0 0

0 1 0 0

0 0 1 0

>> M=[2 2 3 4;3,3,-4,7;0,2,3,0;2,3,4,5];

>> M=eye(size(M))

M =

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 1

Образование матрицы с единичными элементами

Пример 13

>> M=ones(4)

M =

1 1 1 1

1 1 1 1

1 1 1 1

1 1 1 1

>> M=ones(3,5)

M =

1 1 1 1 1

1 1 1 1 1

1 1 1 1 1

>> M=[5,6,1,7;8,1,-3,5];

>> Z=ones(size(M))

Z =

1 1 1 1

1 1 1 1

Образование матрицы с нулевыми элементами

Пример 14

>> M=zeros(3)

M =

0 0 0

0 0 0

0 0 0

>> M=zeros(3,4)

M =

0 0 0 0

0 0 0 0

0 0 0 0

>> M=[1,2,3;2,3,4;3,4,5];

>> M=zeros(size(M))

M =

0 0 0

0 0 0

0 0 0

Вектор равностоящих точек

Пример 15

>>R=linspace(1,2)

R =

1.0000 1.0101 1.0202 1.0303 1.0404 1.0505 1.0606 1.0707 1.0808 1.0909 1.1010……………………………………………………1.9596 1.9697 1.9798 1.9899

>> R=linspace(2,11,6)

R =

2.0000 3.8000 5.6000 7.4000 9.2000 11.0000

Перестановка элементов матрицы

Пример 16

>>M=[2,2,4,5;4,2,6,3]

M =

2 2 4 5

4 2 6 3

>>Z=fliplr(M)

Z =

5 4 2 2

3 6 2 4

>>W=flipud(M)

W =

4 2 6 3

2 2 4 5

Пример 17

>>V=[3,2,6];

>>P=perms(V)

P =

6 2 3

6 3 2

2 6 3

2 3 6

3 2 6

3 6 2

Создание матриц с заданной диагональю

Пример 18

>>V=[3,2,6];

>>M=diag(V,0)

M =

3 0 0

0 2 0

0 0 6

>> Z=diag(V,-4)

Z =

0 0 0 0 0 0 0

0 0 0 0 0 0 0

0 0 0 0 0 0 0

0 0 0 0 0 0 0

3 0 0 0 0 0 0

0 2 0 0 0 0 0

0 0 6 0 0 0 0

>> V=diag(M,0)

V =

3

2

6

>> M=[2,2,4,5;4,2,6,3];

>> V=diag(M,1)

V =

2

6

>> V=diag(M)

V =

2

2

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]