КР Обработка данных и математическое моделирование в прикладных пакетах
Курсовая работа
Оглавление
1. Цели и задачи курсовой работы
2. Исходные данные
3. Постановка задачи курсовой работы
4. Выполнение заданий
Задача 1. Оценка основных показателей информации
Вывод по задаче 1:
Задача 2. Шифрование заданной фразы
Вывод по задаче 2:
Задача 3. Математическое моделирование фразы
Вывод по задаче 3:
5. Заключение
6. Используемая литература
1. Цели и задачи курсовой работы
Целью курсовой работы является развитие практических навыков работы в системах Mathcad и MATLAB + Simulink, как наиболее широко используемых в области телекоммуникаций.
Задачей курсовой работы является цифровая обработка данных с использованием языков программирования в математических средах и моделирование соответствующих устройств.
2. Исходные данные
Задана фраза для цифровой обработки S =” Отучись обижаться. Обиды от гордыни. Не заступай за свою гордыню, но блюди слово чести.”
Задан алгоритм шифрования фразы S: к коду фразы добавляется код гаммы G=dkbnmecpasqz.
3. Постановка задачи курсовой работы
Задача 1. Оценка основных показателей информации.
Для заданной фразы оценить основные показатели информации:
− информационный объем одного символа;
− объем данных сообщения;
− коэффициент информативности;
− вероятности появления символов;
− энтропию сообщения;
− избыточность сообщения.
Целью данного пункта задания является осмысление показателей информации и освоение операций над массивами данных в математических средах.
Задача 2. Шифрование заданной фразы
В системе MATLAB + Simulink разработать программы шифрования и расшифрования заданной фразы по заданному алгоритму и провести моделирование этих процессов.
Целью данного пункта задания является освоение приемов программирования и создания пользовательских блоков в системе MATLAB + Simulink на примере одного из методов защиты информации.
Задача 3. Математическое моделирование
Для совокупности кодов любых трех смежных слов заданной фразы в системе Mathcad с помощью регрессионного анализа выполнить математическое моделирование выборки. При этом аналитическое выражение должно наиболее достоверно описывать данную выборку.
Целью данного пункта является получение представления о математическом моделировании относительно интерполяции данных, имеющей большое значение в задачах сжатия цифровых видео- и звуковых сигналов.
4. Выполнение заданий
Задача 1. Оценка основных показателей информации
Задаю строку S в зависимости с вариантом. Рассчитываю количество символов в строке, количество информации на 1 двоичный символ, объем данных и количество информации заданной строки, коэффициент информативности (рис.1.1).
Объем данных V в сообщении измеряется количеством разрядов в этом сообщении и измеряется в битах или байтах.
Количество информации I в сообщении определяется количеством новых знаний, получаемых пользователем, и является величиной относительной. Количество информации оценивается изменением (уменьшением) неопределенности состояния исследуемой величины и измеряется в битах или байтах.
Коэффициент информативности (содержательность) Y определяется отношением: Y=I/V
Рассчитываю энтропию сообщения заданной строки и избыточности сообщения. Для этого задаю вектор символов- Sim и вектор их повторяемости- k, рассчитываю вероятность появления символов в строке-вектор p, статистические показатели: максимальное, минимальное, среднее значение p и длину этого вектора (рис.1.2).
Энтропия (степень неопределенности) рассматриваемой системы (сообщения S) определяется по формуле Шеннона:
где Pi – вероятность появления i-го символа в сообщении,
N – число символов в сообщении.
Вероятность Pi появления символов в сообщении S определяется отношением k – количества символов в сообщении к длине N самого сообщения:
Pi=ki/N.
Избыточность сообщения можно определить по формуле:
где H – энтропия системы;
M – число символов в некоторой системе.
Результаты расчета рассмотренных показателей сообщения S приведены на рис. 1.1 и 1.2 соответственно.
>> % Заданная фраза;
>> S='Отучись обижаться. Обиды от гордыни. Не заступай за свою гордыню, но блюди слово чести.';
>> % Количество символов в строке S;
>> N=length(S)
N =87
>> %Расчет количества информации;
>> m=2; %Основание СС
>> q=16; %Число разрядов на 1 символ
>> M=2^16 %Количество возможных двоичных комбинаций
M =65536
>> Ic=log(M)/log(2) % Количество информации на один символ
Ic =16
>> %Расчет объема данных заданной фразы S в битах
>> V=q*N
V =1392
>> % Количество символов известных данных
>> S1='Отучись обижаться';
>> a=length(S1)
a =17
>> % Количество символов не известной информации
>> b=N-a
b =70
>> % Коэффициент информативности в %
>> Y=Ic*b/V*100
Y =80.4598
Рис. 1.1. Оценка показателей информации
>> % Расчет количества повторений символом в строке
>> Sim=',.НОабвгджзийлнопрстучыьюя';
>> % Количество повторений
>> k=[1 3 1 2 4 3 2 2 4 2 1 2 6 1 2 3 8 1 2 7 5 2 2 3 2 3 2];
>> sum(k)
ans =
76
>> % Вероятность появления символ в фразе S
>> p=k/N
p =
0.0115 0.0345 0.0115 0.0230 0.0460 0.0345 0.0230 0.0230 0.0460 0.0230 0.0115 0.0230
0.0690 0.0115 0.0230 0.0345 0.0920 0.0115 0.0230 0.0805 0.0575 0.0230 0.0230 0.0345
0.0230 0.0345 0.0230
>> % Энтропия заданной фразы
>> H=-sum(p.*(log(p)/log(2)))
H =
4.1048
>> % Избыточность фразы в %
>> R=(1-H/(log(N)/log(2)))*100
R =
36.289
Рис. 1.2. Расчет энтропии и избыточности сообщения
>> X=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27];
>> plot(bar(X,k),'b');
>> title('X,k');
Рис. 1.3. Диаграмма частоты повторения символов в фразе.
С помощью формулы вероятности мы видим, что символ « » и «о» повторяется чаще других, а символы «Н», «ч», «а», «й», «у», «п», «д», «л», «ж», «д», «я», «ы» – реже.
Вывод по задаче 1:
Выполнив это задание, я понял, что каждая фраза несет в себе долю информативности (энтропии) и избыточности. Как видно из расчетов заданная фраза содержит большую избыточность (36,289%), связанную с небольшой длительностью фразы и использованию кодировки символов двойной точности (q=16).
Задача 2. Шифрование заданной фразы
В командной строке системы MATLAB задали строковую переменную S заданной фразы. Далее задали в командной строке гамму G в виде вектора, путем многократного циклического повторения символом до длительности, равной длительности фразы. Этот вектор имеет длину, равную длине вектора S. Для кодирования фразы преобразуем строковую переменную и гамму в массивы кодов.
>> S='Отучись обижаться. Обиды от гордыни. Не заступай за свою гордыню, но блюди слово чести.';
>>G='dkbnmecpasqzdkbnmecpasqzdkbnmecpasqzdkbnmecpasqzdkbnmecpasqzdkbnmecpasqzdkbnmecpasqzdkb';
>> CS=double(S)
CS =
Columns 1 through 8
1054 1090 1091 1095 1080 1089 1100 32
Columns 9 through 16
1086 1073 1080 1078 1072 1090 1100 1089
Columns 17 through 24
1103 46 32 1054 1073 1080 1076 1099
Columns 25 through 32
32 1086 1090 32 1075 1086 1088 1076
Columns 33 through 40
1099 1085 1080 46 32 1053 1077 32
Columns 41 through 48
1079 1072 1089 1090 1091 1087 1072 1081
Columns 49 through 56
32 1079 1072 32 1089 1074 1086 1102
Columns 57 through 64
32 1075 1086 1088 1076 1099 1085 1102
Columns 65 through 72
44 32 1085 1086 32 1073 1083 1102
Columns 73 through 80
1076 1080 32 1089 1083 1086 1074 1086
Columns 81 through 87
32 1095 1077 1089 1090 1080 46
>> CG=double(G)
CG =
Columns 1 through 16
100 107 98 110 109 101 99 112 97 115 113 122 100 107 98 110
Columns 17 through 32
109 101 99 112 97 115 113 122 100 107 98 110 109 101 99 112
Columns 33 through 48
97 115 113 122 100 107 98 110 109 101 99 112 97 115 113 122
Columns 49 through 64
100 107 98 110 109 101 99 112 97 115 113 122 100 107 98 110
Columns 65 through 80
109 101 99 112 97 115 113 122 100 107 98 110 109 101 99 112
Columns 81 through 87
97 115 113 122 100 107 98
Выполняю шифрование полученного вектора кодов строки S: заменяю код строки в другой код (прибавляю к коду строки код гаммы).
>> CK=mod(CS+CG,1104)
CK =
Columns 1 through 16
50 93 85 101 85 86 95 144 79 84 89 96 68 93 94 95
Columns 17 through 32
108 147 131 62 66 91 85 117 132 89 84 142 80 83 83 84
Columns 33 through 48
92 96 89 168 132 56 71 142 84 69 84 98 84 98 81 99
Columns 49 through 64
132 82 66 142 94 71 81 110 129 86 95 106 72 102 79 108
Columns 65 through 80
153 133 80 94 129 84 92 120 72 83 130 95 88 83 69 94
Columns 81 through 87
129 106 86 107 86 83 144
Получаю шифрограмму символов.
>> CH=char(CK)
CH =
'2]UeUV_OTY`D]^_l>B[UuYTPSST\`Y¨8GTETbTbQcRB^GQnV_jHfOl P^T\xHS_XSE^jVkVS'
Для проверки результата шифрования выполняю действия с вектором CH по расшифрованию шифрограммы с целью восстановления исходной фразы:
Преобразовываю шифрограмму в код:
>> CD=double(CH)
CD =
Columns 1 through 16
50 93 85 101 85 86 95 144 79 84 89 96 68 93 94 95
Columns 17 through 32
108 147 131 62 66 91 85 117 132 89 84 142 80 83 83 84
Columns 33 through 48
92 96 89 168 132 56 71 142 84 69 84 98 84 98 81 99
Columns 49 through 64
132 82 66 142 94 71 81 110 129 86 95 106 72 102 79 108
Columns 65 through 80
153 133 80 94 129 84 92 120 72 83 130 95 88 83 69 94
Columns 81 through 87
129 106 86 107 86 83 144
Восстанавливаю код строки (отнимаю код гаммы):
>> D=mod(CD-CG,1104)
D =
Columns 1 through 8
1054 1090 1091 1095 1080 1089 1100 32
Columns 9 through 16
1086 1073 1080 1078 1072 1090 1100 1089
Columns 17 through 24
1103 46 32 1054 1073 1080 1076 1099
Columns 25 through 32
32 1086 1090 32 1075 1086 1088 1076
Columns 33 through 40
1099 1085 1080 46 32 1053 1077 32
Columns 41 through 48
1079 1072 1089 1090 1091 1087 1072 1081
Columns 49 through 56
32 1079 1072 32 1089 1074 1086 1102
Columns 57 through 64
32 1075 1086 1088 1076 1099 1085 1102
Columns 65 through 72
44 32 1085 1086 32 1073 1083 1102
Columns 73 through 80
1076 1080 32 1089 1083 1086 1074 1086
Columns 81 through 87
32 1095 1077 1089 1090 1080 46
Восстанавливаю символы в текстовой фразе:
>> T=char(D)
T =
'Отучись обижаться. Обиды от гордыни. Не заступай за свою гордыню, но блюди слово чести.'
Вывод: Результат восстановления вектора T полностью совпал с исходной строкой S. Я считаю, что это не самый удобный метод шифрования, так как при повторении шифровки нужно заново вбивать фразы, что занимает время, однако все действия по преобразованию строк представлены довольно наглядно.
Произведем шифрование фразы с использованием программных модулей. С этой целью создаю два М-файла-функции. Первая функция преобразовывает массив кодов заданной фразы в шифрограмму (рис.2.1), а вторая – производит расшифрование шифрограммы (рис.2.2).
Рис. 2.1. М-файл-функция, реализующая шифрование строки S методом гаммирования.
G='dkbnmecpasqzdkbnmecpasqzdkbnmecpasqzdkbnmecpasqzdkbnmecpasqzdkbnmecpasqzdkbnmecpasqzdkb';
>> S='Отучись обижаться. Обиды от гордыни. Не заступай за свою гордыню, но блюди слово чести.';
Вызываю модуль шифрования относительно вектора исходной строки S.
>> CK=SC(S,G);
>> CH=char(CK)
CH =
'2]UeUV_OTY`D]^_l>B[UuYTPSST\`Y¨8GTETbTbQcRB^GQnV_jHfOl P^T\xHS_XSE^jVkVS'
Рис. 2.2. М-файл-функция, реализующая дешифрование строки S методом гаммирования
Вызываю модуль шифрования относительно вектора шифрограммы CH.
>> D=DSC(CH,G);
>> T=char(D)
T = 'Отучись обижаться. Обиды от гордыни. Не заступай за свою гордыню, но блюди слово чести.
Вывод: Как видно, результат восстановления текста T полностью совпал с исходной фразой S, что говорит о правильной работоспособности модулей. С помощью М-файла можно ускорить работу с программой, так как не нужно тратить время на заполнение модулей.
Для дальнейшего исследования фразы с помощью пакета расширения Simulink создаю модель, реализующую процессы шифрования и дешифрования методом гаммирования (рис.2.3).
При этом использую как стандартные блоки Simulink, так и собственно созданные блоки для моделирования процессов шифрования и расшифрования, работающие с цифровыми данными.
Блок From Workspace выполняет функции преобразования строковой фразы в соответствующий ей код и вызова вектора данных кода из рабочей области в модель для дальнейшего шифрования.
Блок Interpreted MATLAB Function выполняет функцию обработки цифровых данных по заданному алгоритму, реализуемому программным способом.
Блок To Workspace выполняет функцию передачи кодов шифрограммы в рабочую область для считывания шифрограммы в командной строке.
Аналогично работает приемная часть модели.
Устанавливаю для каждого блока модели соответствующие свойства, которые приведены в таблице 2.1.
Таблица 2.1. Значения параметров блоков цифрового устройства
Название и назначение блоков | Размещение в браузере | Параметры блоков |
Источники: From Workspace, From Workspace1, From Workspace2 |
Simulink / Sources |
Data: CS: Sample time: 0 Data: CG: Sample time: 0 Data: CD: Sample time: 0 |
Приемники: To Workspace, To Workspace1 |
Simulink / Sinks |
Variable name: CK Variable name: D |
Блоки Interpreted MATLAB Fcn, Interpreted MATLAB Fcn1 |
Simulink / User-Defined Functions |
MATLAB function: SC(S,G) MATLAB function: DSС(CH,G) |
Регистраторы Display(1-4) |
Simulink / Sinks |
По умолчанию |
Блок диаграммы: Floating Bar Plot |
Simulink Extras/ Additional Sinks |
Y-Limits установить min и max значения кодов Cyr |
Полученная и настроенная блочно-имитационная модель процессов шифрования и расшифрования приведена на рис. 2.3
2.3. Модель шифрования и расшифрования строки методом гаммирования
Для удобства визуализации исходной фразы, гаммы, шифрограммы и восстановленной фразы я использовал блок Floating Bar Plot (рис.2.4 – 2.7).
Рис. 2.4. Гистограмма кодов символов исходной фразы
Рис. 2.5. Гистограмма кодов символов гаммы
Рис. 2.6. Гистограмма кодов символов шифрограммы
Рис. 2.7. Гистограмма кодов символов восстановленной фразы
Для сравнения процессов реализации шифрования и расшифрования фразы в двух математических пакетах выполняю шифрование и дешифрование данных в системе Mathcad(рис.2.8). Для этого преобразовываю строковую переменную и гамму в векторы кодов. Разрабатываю, пишу и отлаживаю модули SC, реализующий процесс шифрования строки, и DT, реализующий процесс восстановления строки.
Рис.2.8. Шифрование и дешифрование заданной фразы
Вывод по задаче 2:
Выполнив шифрование и дешифрование заданной строки, я увидел, что написанные мной программы в Mathcad и MATLAB правильные, так как восстановленная фраза полностью совпадает с исходной. Самыми удобными программами для шифрования и дешифрования заданной строки я считаю Mathcad, так как синтаксис более понятен при математических вычислениях, а MATLABболее удобен при моделировании благодаря блокам Simulink и использованию при необходимости М-файлов.
Задача 3. Математическое моделирование фразы
Представление совокупности данных некоторой функцией y(x) называется регрессией. Ее задача заключается в получении параметров этой функции такими, чтобы функция приближала «облако» исходных точек, заданных векторами VX и VY, с наименьшей среднеквадратичной погрешностью. Сама линия регрессии проходит в «облаке» исходных точек, векторов VX и VY, с максимальным среднеквадратичным приближением к ним. Известны следующие виды регрессии:
1. Линейная (отрезок прямой линии),
2. Полиномиальная (полином произвольной степени),
3. Линейная общего вида (линейная сумма произвольных функций),
4. Нелинейная общего вида (произвольная функция).
В данной работе требуются первые три вида регрессии.
Получение математической модели выборки фразы происходит в несколько этапов.
3.1. Формирование выборки данных для исследования
Для начала записываю строковую переменную Str в виде выборки трех идущих подряд слов из заданной фразы, записанных слитно.
Str= «Несчитайтого».
Формирую два вектора VX, содержащий коды выборки строки Str, и VY, содержащий порядковые номера этих кодов в выборочной совокупности. (рис.3.1).
Рис.3.1. Программа формирования векторов выборки данных\
3.2. Линейная регрессия
При линейной регрессии функция y(x) имеет вид
y(x)=a·x+b
и описывает отрезок прямой.
Я нахожу значения a и b с помощью встроенных функций:
slope(VX,VY) – возвращает значение параметра a – наклон линии регрессии (угловой коэффициент линии регрессии),
intercept(VX,VY) – возвращает параметр b – смещение линии регрессии по вертикали (свободный член регрессии).
Нахожу по формуле коэффициент детерминации (критерий точности вычисления закона регрессии).
Строю графики VY(VX) и LY(x) в одной системе координат. (рис.3.2).
Рис.3.2. Линейная регрессия для сформированной выборки
Вывод: Если вывести расчетные значения LY(x) и выборку данных VY и сопоставить их, то можно увидеть, что в большинстве точек они значительно отличаются друг от друга (рис.3.3).
Следовательно, для данной выборки данных полученный закон линейной регрессии не приемлем, что хорошо иллюстрирует график.
Поэтому линейный закон для данной выборки VY только отражает тенденцию изменения ее данных для нашего случая.
Рис.3.3. Сопоставление векторов LY(x) и VY
Математическая модель выборки имеет следующий вид:
3.3.Полиномиальная регрессия
При полиномиальной регрессии функция y(x) имеет вид:
y(x)=an*xn+an-1*xn-1+…+a2*x2+a1*x+a0
Я нахожу значения z и P(x) с помощью встроенных функций:
regress(VX,VY,n), которая возвращает вектор VS, запрашиваемый функцией interp(VS,VX,VY,x) и содержащий коэффициенты полинома n–й степени.
Вычисляю коэффициенты полинома с помощью функции submatrix() – часть матрицы. Нахожу по формуле коэффициент детерминации.
Строю графики VY(VX) и P(x) в одной системе координат одного шаблона для их сопоставления (рис.3.4).
Рис.3.4. Полиномиальная регрессия
Вывод: Если вывести значения векторов P(x) и выборки данных VY и сопоставить их (рис.3.5), то можно увидеть полное их соответствие.
Следовательно, для данной выборки данных полученный закон полиномиальной регрессии может быть применен в качестве получения математической модели выборки данных. Так же я считаю, что полученной выражение очень громоздко, из-за высокой степени полинома.
Рис.3.5. Сопоставление векторов P(x) и VY
Математическая модель выборки с учетом использования полиноминальной регрессии имеет следующий вид:
3.4.Линейная регрессия общего вида
В линейной регрессии общего вида заданная выборка данных приближается к функции y(x) вида:
y(x)=F(x,K1,K2,…Kn)=K1*F1(x)+K2*F2(x)+…+Kn*Fn(x)
Таким образом, функция регрессии является линейной комбинацией нескольких функций F1(x), F2(x),…, Fn(x).
Задаю вектор F, содержащий функции в символьном виде.
Для реализации линейной регрессии общего вида использую функцию linfit(VX,VY, F), которая возвращает вектор коэффициентов К линейной регрессии общего вида, при котором среднеквадратичная погрешность приближения «облака» исходных данных, координаты которых хранятся в векторах VX и VY, оказывается минимальной.
Нахожу по формуле коэффициент детерминации.
Строю графики VY(VX) и LA(x) в одной системе координат одного шаблона (рис.3.6).
Вывод: Если вывести значения векторов LA(x) и выборки данных VY и сопоставить их (рис.3.7), то можно увидеть различие в некоторых точках.
Следовательно, для данной выборки данных полученный закон линейной регрессии общего вида не может быть применен в связи с большой погрешностью при вычислении.
Рис.3.7. Сопоставление векторов LA(x) и VY
Вывод: Поскольку значения кодов в выборке VY носят скачкообразный характер, то только один из трех рассмотренных законов к выборке данных подходит для математического моделирования – это закон полиномиальной регрессии.
3.5. Восстановление выборки из фразы
Рассчитанные по формулам P(x) и LA(x) коды сначала с помощью функции round() округляю до целых значений, затем преобразовываются в символы строки. И сравниваются с исходной выборкой. Составляю программу подсчета количества совпадений символов восстановленной выборки с заданной (рис.3.7).
Рис.3.7. Восстановление заданной строки Str.
Вывод по задаче 3:
Как показали исследования получения математической модели заданной выборки, с помощью регрессионного анализа, лучший адекватный результат получен при использовании полиномиальной регрессии с высокой степенью полинома n=11. Так же, я считаю, что данный метод не совсем удобен из-за громоздкой записи выражения самого закона, ведь это сильно затруднит работу по шифрованию данных.
5. Заключение
Выполнив данную курсовую работу, я провел сравнительный анализ двух математических пакетов: MATLAB+Simulink и Mathcad.
MATLAB — пакет прикладных программ для решения задач технических вычислений и одноимённый язык программирования, используемый в этом пакете.
Язык MATLAB является высокоуровневым интерпретируемым языком программирования, включающим основанные на матрицах структуры данных, широкий спектр функций (несколько тысяч для различных предметных областей), интегрированную среду разработки, объектно-ориентированные возможности и интерфейсы к программам, написанным на других языках программирования.
MATLAB предоставляет пользователю большое разнообразие функций для анализа данных, покрывающие практически все области математики, в том числе:
− матрицы и линейная алгебра
− математическая статистика и анализ данных
− обработка данных
− разреженные матрицы
− целочисленная арифметика.
Система MATLAB относится к среднему уровню продуктов, предназначенных для символьной математики, но также сильна и в других областях. Несмотря на то, что изначально MATLAB предназначалась исключительно для вычислений, в процессе эволюции к ней была подключена библиотека Simulink, позволяющая построить логическую схему сложной системы управления из одних только стандартных блоков, не написав при этом ни строчки кода. После конструирования такой схемы можно детально проанализировать ее работу.
В системе MATLAB также существуют широкие возможности для программирования. Ее библиотека является объектной и содержит свыше 300 процедур обработки данных на языке C. Язык программирования в системе MATLAB близок к широко распространенным языкам Pascal, Delphi и Basic.
В системе MATLAB есть возможность создания собственных функций в виде М-файлов, которые дополняют стандартный набор математических операций.
Кроме того, система поддерживает двумерную и трехмерную графику (в отдельном окне).
MATLAB можно использовать для обработки изображений, сконструировав собственные алгоритмы, которые будут работать с массивами графики как с матрицами данных.
Поскольку ее язык оптимизирован для работы с матрицами, в результате обеспечивается простота использования, высокая скорость и экономичность проведения операций над изображениями.
Из недостатков системы можно отметить невысокую интегрированность среды (очень много окон, с которыми лучше работать на двух мониторах), не очень внятную справочную систему и специфический редактор кода MATLAB-программ.
Mathcad – это простой, но продвинутый редактор математических текстов с широкими возможностями символьных вычислений и простым математическим интерфейсом с богатыми возможностями визуализации.
Все вычисления здесь осуществляются на уровне визуальной записи выражений в общеупотребительной математической форме.
Для небольшого объема вычислений Mathcad идеален – здесь все можно проделать очень быстро и эффективно, а затем оформить работу в привычном виде.
Mathcad содержит сотни операторов и встроенных функций для решения различных технических задач.
Среди его возможностей можно выделить:
− решение дифференциальных уравнений, в том числе и численными методами
− построение двумерных и трёхмерных графиков функций (в разных системах координат, контурные, векторные и т. д.)
− возможен импорт графики из других программ
− встроенные справочники по предметным областям
− возможна анимация
− использование греческого алфавита как в уравнениях, так и в тексте
− выполнение вычислений в символьном режиме
− выполнение операций с векторами и матрицами
− аппроксимация кривых
− выполнение подпрограмм
− поиск корней многочленов и функций
− проведение статистических расчётов и работа с распределением вероятностей
− поиск собственных чисел и векторов
− интеграция с САПР - системами, использование результатов вычислений в качестве управляющих параметров.
− вычисления с единицами измерения
Mathcad имеет довольно простые для усвоения инструменты программирования, позволяющие, впрочем, строить весьма сложные алгоритмы, к чему прибегают, когда встроенных средств решения задачи не хватает, а также когда необходимо выполнять серийные расчёты.
Из недостатков этого математического пакета можно отметить то, что он является интерпретатором, и его возможности программирования ограничены.
Главным преимуществом системы MATLAB является то, что ее используют для написания научных работ и проведения экспериментальных исследований, потому что она имеет обширные возможности работы с изображениями, высокую скорость обработки данных, широкий спектр возможностей для программирования, также в нее встроена система имитационного моделирования блочно организованных систем Simulink. Достоинствами математического пакета Mathcad можно считать простоту использования, доступность для широкой аудитории пользователей.
Таким образом, система MATLAB является более функциональной и наглядной, благодаря моделированию отдельных блоков и представление их в блок-схеме, а Mathcad более понятным для новичков и людей, имеющих понятие о математических моделях и вычислениях.
6. Используемая литература
Основная
1. Алексеев А. П. Стеганографические и криптографические методы защиты информации: учеб. пособие по дисциплине "Информатика" / А. П. Алексеев, В. В. Орлов; ПГУ-ТИ. – Самара: ИУНЛ ПГУТИ, 2010. – 332 с (Учебное пособие).
2. Дьяконов, В. П. MATLAB и SIMULINK для радиоинженеров /Дьяконов, В. П. – М.: ДМК, 2011, 976 с.
3. Дьяконов, В. П. MATLAB 6.5 SP1/7 + Simulink 5/6 в математике и моделировании / Дьяконов, В. П. – М.: СОЛОН-Пресс, 2005. – 576 с. – (Библиотека профессионала)
4. Дьяконов, В. П. MATLAB 6.5 SP1/7+ Simulink 5/6. Основы применения / Дьяконов, В. П. – М.: СОЛОН-Пресс, 2005. – 800 с. – (Библиотека профессионала).
5. Дьяконов, В. П. Mathcad 11/12/13 в математике: справочник / Дьяконов В. П. – М.: Горячая линия-Телеком, 2007 – 958 с.
6. Ивановский Р. И. Теория вероятностей и математическая статистика. Основы, прикладные аспекты с примерами и задачами в среде Mathcad: учебное пособие для вузов. СПб.: БХВ-Петербург, 2008.-528 с
7. Кирьянов, Д. В. Mathcad 15/Mathcad Prime 1.0 / Кирьянов, Д. В. – СПб.: БХВ-Петербург, 2012. – 428 с. – (В подлиннике).
8. Кирьянов, Д. В. Mathcad 13 / Кирьянов, Д. В. – СПб.: БХВ-Петербург, 2006. – 608 с.
9. Макаров, Е. Г. Инженерные расчеты в Mathcad 14 / Макаров, Е. Г. – СПб. : Питер, 2007. – 592 с.
10. Макаров, Е. Г. Инженерные расчеты в Mathcad 15 : учеб. курс / Макаров, Е. Г. - СПб.: Питер, 2011. – 400 с.
11. Стефанова И. А. Программирование в системе MATLAB: задания и методические указания к лаб. работам по информатике и программированию / Стефанова И. А. ; ПГУТИ, Кафедра ИВТ. – Самара: ИУНЛ ПГУТИ, 2014. – 66 с.
12. Стефанова И. А. Применение MATLAB+SIMULINK в технике связи: задания и методические указания к лаб. работам по информатике / Стефанова И. А.; ПГУТИ, Кафедра ИВТ. – Самара: ИУНЛ ПГУТИ, 2015. – 72 с.
13. Стефанова И. А. Методы обработки данных в системе MATCAD: Методическое пособие / Стефанова И. А.; ПГУТИ, Кафедра ИВТ – Самара: ИУНЛ ПГУТИ, 2015. – 51 с.
14. Стефанова И. А. Программирование в системе MATCAD: Методическое пособие / Стефанова И. А.; ПГУТИ, Кафедра ИВТ. – Самара: ИУНЛ ПГУТИ, 2015. – 51 с.
15. Стефанова И. А. Обработка и данных и моделирование в математических пакетах: Учебно-методическое пособие по дисциплине «Информатика»; Самара 2016.
Дополнительная
16. Беспалов, Е. С. Simulink–модели радиотехнических устройств: учеб. пособие / Беспалов, Е. С., Мусянков, М. И., Пирхавка, А. П.; Московский государственный институт радиотехники, электроники и автоматики (технический университет), ГОУ ВПО МИРЭА. – М.: [Б. и.], 2010. - 56 с.
17. Выгодский, М. Я. Справочник по высшей математике / Выгодский, М. Я. - М.: АСТ, 2008. – 991 с.
18. Очков, В. Ф. Mathcad 12 для студентов и инженеров / Очков, В. Ф. –СПб.: БХВ-Петербург, 2005. – 464 с.
19. Черных, И. В. Моделирование электротехнических устройств в Matlab, SimPowerSystems и Simulink./И. В. Черных – М.: ДМК, 2014, 296 с.
20. Акчурин, Э. А. Программирование в системе MATLAB: метод. указания к лабораторным работам / Э. А. Акчурин. – Самара: ПГАТИ, 2004 – .Ч.1: Использование VFTLAB и Simulink / Э. А. Акчурин. – 51 с.
21. http://sapr-journal.ru/uroki-mathcad – электронный ресурс. Уроки по работе в Mathcad.
22. http://physics.herzen.spb.ru/library/03/02/mcad_progs.pdf – электронный ресурс. Программирование в математическом пакете Mathcad.
23. http://edu.dvgups.ru/METDOC/ENF/PRMATEM/INFORMAT/METOD/KRIPTOGR_MET/Kom_1.htm – электронный ресурс. Знакомство с криптографическими методами защиты информации.
Комментарии
Ссылка, которую Вы указали: http://physics.herzen.spb.ru/library/03/02/mcad_progs.pdf, не найдена :(