Автор: Пользователь скрыл имя, 25 Марта 2013 в 16:21, курсовая работа
Развитие научно-технического прогресса привело к тому, что на сегодняшний день ни одна серьезная разработка в любой отрасли науки и производства не обходится без трудоемких математических расчетов. С одной стороны это способствует существенному расширению содержания обучения математическим дисциплинам, особенно в сфере прикладной математики, что нацелено на формирование специалистов, способных на высоком профессиональном уровне владеть требуемыми подходами к решению сложнейших математических задач, возникающих на практике.
Цель работы – исследование функциональных возможностей программ математического расчёта на примере MatLab.
ВВЕДЕНИЕ 7
ГЛАВА 1. СИСТЕМЫ МАТЕМАТИЧЕСКИХ РАСЧЁТОВ 8
1.1 Основные сведения о системах математических расчётов 8
1.2. Классификация пакетов математических программ. Суперкалькуляторы. 11
ГЛАВА 2. ПРОГРАММА МАТЕМАТИЧЕСКИХ РАСЧЁТОВ MATLAB 14
2.1. Общая характеристика MatLab. 14
2.2 Рабочий стол (desktop) системы MATLAB. 18
2.3. Работа в среде MatLab 20
2.3.2. Выражения 25
2.3.3. Графика 29
2.3.4. Командное окно 37
2.3.5 Среда MATLAB 39
2.3.6 Справка и текущая документация 40
ГЛАВА 3. АЛГОРИТМИЗАЦИЯ И ПОГРАММИРОВАНИЕ НА ЯЗЫКЕ PASCAL 44
3.1. Постановка задачи 44
3.2. Контрольный пример 44
3.3. Блок-схема алгоритма решения задачи 45
3.4. Текст программы на языке Pascal 46
3.5. Результат выполнения программы на контрольном примере 47
ЗАКЛЮЧЕНИЕ 48
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 49
4 15 14 1
Если мы ввели матрицу, то она автоматически запоминается средой MATLAB. И мы можем к ней легко обратиться как к А. Сейчас, когда мы имеем А в рабочем пространстве MATLAB, посмотрим, что делает её такой интересной. Почему она называется магической?
Операции суммирования элементов, транспонирования и диагонализации матрицы
Особые свойства магического квадрата связаны с различными способами суммирования его элементов. Если взять сумму элементов вдоль какой-либо строки или столбца, или вдоль какой-либо из двух главных диагоналей, всегда получается одно и тоже число. Проверим это, используя MATLAB. Первое утверждение, которое мы проверим -
sum (А)
MATLAB выдаст ответ
ans =
34 34 34 34
Когда выходная переменная не определена, MATLAB использует переменную ans, коротко от answer - ответ, для хранения результатов вычисления. Мы подсчитали вектор-строку, содержащую сумму элементов столбцов матрицы А. Действительно, каждый столбец имеет одинаковую сумму, магическую сумму, равную 34.
А как насчет сумм в
строках? Лучший способ получить сумму
в строках - это транспонировать
нашу матрицу, подсчитать сумму в
столбцах, а потом транспонировать резуль
sum(A') '
вызывает результат вектор-столбец, содержащий суммы в строках
ans = 34
34
34
34
Сумму элементов на главной диагонали можно легко получить с помощью функции diag, которая выбирает эту диагональ.
diag (A)
ans = 16
10
7
1
А функция
sum (diag (А) ) вызывает
ans = 34
Другая диагональ, называемая антидиагональю, не так важна математически, поэтому MATLAB не имеет специальной функции для неё. Но функция, которая вначале предполагалась для использования в графике, fliplr, зеркально отображает матрицу слева направо.
sum(diag(fliplr(A)))
ans = 34
Индексы
Элемент в строке i и столбце j матрицы А обозначается A(i,j). Например, А(4,2) - это число в четвертой строке и втором столбце. Для магического квадрата А(4,2) = 15. Таким образом, можно вычислить сумму элементов в четвертом столбце матрицы А, набрав
A(1,4) + А(2,4) + А(3,4) + А(4,4)
получим
ans = 34
Однако это не самый лучший способ суммирования отдельной строки.
Также возможно обращаться к элементам матрицы через один индекс, A(k). Это обычный способ ссылаться на строки и столбцы матрицы. Но его можно использовать только с двумерными матрицами. В этом случае массив рассматривается как длинный вектор, сформированный из столбцов исходной матрицы.
Так, для нашего магического квадрата, А(8) - это другой способ ссылаться на значение 15, хранящееся в А(4,2).
Если вы пытаетесь использовать значение элемента вне матрицы, MATLAB выдаст ошибку:
t=A(4,5)
??? Index exceeds matrix dimensions.
С другой стороны, если вы сохраняете значение вне матрицы, то размер матрицы увеличивается.
X=A;
X(4,5) = 17
X =
16 3 2 13 0
5 10 11 8 0
9 6 7 12 0
4 15 14 1 17
Оператор двоеточия
Двоеточие : - это один
из наиболее важных операторов MATLAB. Он
проявляется в различных
1:10
- это вектор-строка, содержащая целые числа от 1 до 10
123456789 10
Для получения обратного интервала, опишем приращение. Например
100:-7:50
что дает
100 93 86 79 72 65 58 51
ИЛИ
0:pi/4:pi
что даст
О 0.7854 1.5708 2.3562 3.1416
Индексное выражение, включая двоеточие, относится к части матрицы.
A(1:k, j)
это первые k элементов j -го столбца матрицы А.
Так
sum(A(l:4,4))
вычисляет сумму четвертой строки. Но есть и лучший способ. Двоеточие, само по себе, обращается ко всем элементам в строке и столбце матрицы, а слово end — к последней строке или столбцу. Так
sum (А (:, end) )
вычисляет сумму элементов в последнем столбце матрицы А
ans = 34
Как и большинство
других языков программирования, MATLAB предоставляет
возможность использования
переменные
числа
операторы
функции
Переменные
В MATLAB нет необходимости в определении типа переменных или размерности. Когда MATLAB встречает новое имя переменной, он автоматически создает переменную и выделяет соответствующий объем памяти. Если переменная уже существует, MATLAB изменяет ее состав и если это необходимо выделяет дополнительную память. Например,
num_students = 25
создает матрицу 1x1 с именем num_students и сохраняет значение 25 в ее единственном элементе.
Имена переменных состоят из букв, цифр или символов подчеркивания. MATLAB использует только первые 31 символ имени переменной. MATLAB чувствителен к регистрам, он различает заглавные и строчные буквы. Поэтому А и а - не одна и та же переменная. Чтобы увидеть матрицу связанную с переменной, просто введите название переменной.
Числа
MATLAB использует принятую десятичную систему счисления, с необязательной десятичной точкой и знаками плюс-минус для чисел. Научная система счисления использует букву е для определения множителя степени десяти. Мнимые числа используют i или j как суффикс. Некоторые примеры правильных чисел приведены ниже
3 -99 0.0001
9.6397238 1.60210e-20 6.02252e23
1i -3.14159j 3e5i
Числа с плавающей точкой обладают ограниченной точностью - приблизительно 16 значащих цифр и ограниченным диапазоном – приблизительно от 10-308 до 10308
Операторы
Выражения используют обычные арифметические операции и правила старшинства.
+ сложение
– вычитание
* умножение
/ деление
Λ степень
' комплексно сопряженное транспонирование
() определение порядка вычисления
Специальные символы
[ ] – квадратные скобки
используют для создания
– пробел служит для разделения элементов матриц;
, – запятая применяется
для разделения элементов
; – точка с запятой
отделяет строки матриц, а точка
с запятой в конце оператора
(команды) отменяет вывод
: – двоеточие используется
для указания диапазона (
% – знак процента обозначает начало комментария;
! – отмечает начало команды DOS
’ – апостроф указывает на символьные строки.
Функции
MATLAB предоставляет большое
количество элементарных
help elfun Для вывода более
сложных математических и
help specfun
help elmat
соответственно.
Некоторые функции, такие как sqrt и sin, - встроенные. Они являются частью MATLAB, поэтому они очень эффективны, но их вычислительные детали трудно доступны. В то время как другие функции, такие как gamma и sink, реализованы в М-файлах. Поэтому вы можете легко увидеть их код и, в случае необходимости, даже модифицировать его.
Несколько специальных функций предоставляют значения часто используемых констант.
pi 3.14159265...
i мнимая единица, √-1
j то же самое, что и i
realmin наименьшее число с плавающей точкой, 2-1022
realmax наибольшее число с плавающей точкой, (2-ε)21023
Inf бесконечность
NaN не число
Бесконечность появляется при делении на нуль или при выполнении математического выражения, приводящего к переполнению, т.е. к превышению realmax. Не число (NaN) генерируется при вычислении выражений типа О/О или Inf- Inf, которые не имеют определенного математического значения.
Имена функций не являются зарезервированными, поэтому возможно изменять их значения на новые, например
eps = 1.e-6
и далее использовать это значение в последующих вычислениях. Начальное значение может быть восстановлено следующим образом
clear eps
MATLAB имеет широкие
возможности для графического
изображения векторов и матриц,
а также для создания
Создание графика
Функция plot имеет различные формы, связанные с входными параметрами, например plot(y) создает кусочно-линейный график зависимости элементов у от их индексов. Если вы задаете два вектора в качестве аргументов, plot(x,y) создаст график зависимости у от х.
Например, для построения графика значений функции sin от нуля до 2π (см. рис.3.), сделаем следующее
t = 0:pi/100:2*pi;
у = sin(t);
plot(t,у)
Рис.3. График функции у=sin(t)
Вызов функции plot с многочисленными парами х-у создает многочисленные графики (см. рис.4.). MATLAB автоматически присваивает каждому графику свой цвет (исключая случаи, когда это делает пользователь), что позволяет различать заданные наборы данных. Например, следующие три строки отображают график близких функций, и каждой кривой соответствует свой цвет:
у2 = sin(t-.25);
уЗ = sin(t-.5);
plot( t, у, t, y2, t, уЗ)
Рис.4. Многочисленный график
Возможно изменение цвета, стиля линий и маркеров, таких как знаки плюс или кружки, следующим образом
plot(x, у, 'цвет_стиль_маркер')
цвет_стиль_маркер это 1-, 2-, 3-х символьная строка (заключенная в одинарные кавычки), составленная из типов цвета, стиля линий и маркеров:
Символы, относящие к цвету: 'с', 'т', 'у', 'r', 'g', b', 'w' и 'k'. Они обозначают голубой, малиновый, желтый, красный, зеленый, синий, белый и черный
цвета соответственно.
Символы, относящиеся к типу линий: ' - ' для сплошной, ' — ' для разрывной, ': ' для пунктирной, ' -. ' для штрихпунктирной линий и ' попе ' для её отсутствия.
Наиболее часто встречающиеся маркеры '+','о','*'и'х'.
Например, выражение
plot(x,y,'y:+')
строит желтый пунктирный график и помещает маркеры ' + ' в каждую точку данных. Если вы определяете только тип маркера, но не определяете тип стиля линий, то MATLAB выведет только маркеры.
Функция plot автоматически открывает новое окно изображения (далее окно), если до этого его не было на экране. Если же оно существует, то plot использует его по умолчанию. Для открытия нового окна и выбора его по умолчанию, набираем
figure
Для того, чтобы сделать существующее окно текущим -
figure(n)
где n - это номер в заголовке окна. В этом случае результаты всех последующих команд будут выводиться в это окно.
Добавление кривых на существующий график
Команда hold позволяет добавлять кривые на существующий график. Когда вы набираете
hold on
MATLAB не стирает существующий график, а добавляет в него новые данные, изменяя оси, если это необходимо. Например, следующий элемент кода вначале создает контурные линии функции peaks, а затем накладывает псевдоцветной график той же функции:
[x,y,z] = peaks;
contour(χ,у,z,20,'k')
hold on
pcolor(x,y,z) shading interp
Команда hold on является причиной того, что график pcolor комбинируется с графиком contour в одном окне
Подграфики
Функция subplot позволяет выводить множество графиков в одном окне или распечатывать их на одном листе бумаги.
subplot(m,n,p)
разбивает окно изображений на матрицу m на n подграфиков и выбирает n-ый подграфик текущим. Графики нумеруются вдоль первого в верхней строке, потом во второй и т.д. Например, для того, чтобы представить графические данные в четырех разных подобластях окна необходимо выполнить следующее:
Информация о работе Программы математических расчётов (МatLab )