- •Численные методы
- •Содержание
- •Введение
- •1. Вычисление определенных интегралов Справочная информация
- •Формула средних прямоугольников
- •Формула трапеций
- •Формула Симпсона (j.Gregory(Грегори)1668,Th.Simpson1743)
- •Пример решения в среде Matlab
- •Контрольные задания
- •2. Решение нелинейных уравнений Справочная информация
- •Метод простых итераций Метод основывается на приведении исходного уравнения к форме
- •Относительная разница между значениями приближения корня на третьей и четвёртой итерациях составляет
- •Метод хорд
- •Пример решения на пэвм в среде Matlab
- •Контрольные задания
- •3. Решение систем линейных алгебраических уравнений Справочная информация
- •Метод Гаусса с выбором главного элемента
- •Метод простых итераций
- •О выборе метода решения систем уравнений
- •Пример решения на пэвм в среде Matlab
- •Контрольные задания
- •4. Интерполяция таблично заданных функций Справочная информация
- •Кусочно-линейная интерполяция
- •Пример решения на пэвм в среде Matlab
- •Контрольные задания
- •5. Аппроксимация таблично заданных функций Справочная информация
- •Пример решения на пэвм в среде Matlab
- •Контрольные задания
- •6. Решение задачи коши для обыкновенных дифференциальных уравнений 1-го порядка Справочная информация
- •Усовершенствованный метод Эйлера
- •Оценка погрешностей методов
- •Программное обеспечение
- •Пример решения на пэвм в среде Matlab
- •Контрольные задания
- •7. Решение задачи коши для нормальных систем обыкновенных дифференциальных уравнений и уравнений высших порядков Справочная информация
- •Метод Эйлера
- •Усовершенствованный метод Эйлера
- •Оценка погрешностей методов
- •Пример решения на пэвм в среде Matlab
- •Контрольные задания
- •Приложение. Основы работы в среде matlab Интерфейс среды
- •Переменные и константы
- •Арифметические операторы
- •Операторы отношения
- •Логические операторы
- •Элементарные функции
- •Простейшие способы ввода–вывода информации
- •Векторы и матрицы
- •Оператор двоеточие «:»
- •Оператор разветвления if
- •Операторы циклов
- •Вывод информации в файл
- •Форматный вывод информации
- •Ввод данных из файла
- •Построение графиков
- •Сообщения об ошибках и исправление ошибок
- •Список литературы
Простейшие способы ввода–вывода информации
Во встроенном языке Matlab’а нет явных операторов ввода–вывода данных в командное окно. Проблема ввода данных в нём решается оператором присваивания и использованием системных констант. К системным константам относятся:
Pi – число = 3.1415…;
i или j – мнимая единица ;
NaN – неопределенность вида 0/0;
Inf – бесконечность типа 1/0;
ans – идентификатор результата последней операции
и другие.
Вывод данных осуществляется еще проще. Для этого необходимо после математического выражения не ставить точку с запятой «;».
Как известно, в Matlab’е при вычислениях в числе сохраняется 15 цифр. Однако при выводе результатов вычислений в командное окно по умолчанию выдаются числа с 4 цифрами после десятичной точки в действительной форме. Эту форму вывода данных можно менять. Для этого в программе перед выводимой величиной следует использовать командуformat name, гдеname– имя формата, которое для числовых данных имеет следующие значения:
short – короткое представление числа в фиксированном формате из 5-ти знаков и десятичной точки;
short е – короткое представление числа в экспоненциальной форме с 5-ю знаками мантиссы и 3-я знаками порядка;
long – длинное представление числа в фиксированном формате из 15-ти знаков и десятичной точки;
long е – длинное представление числа в экспоненциальной форме с 15-ю знаками мантиссы и 3-я знаками порядка.
В качестве примера можно привести фрагменты программы, организующие вывод компонент вектора из двух элементов. При командах
format short
x = [5/3 1.2345e-7]
будет выведено
1.6667 0.0000
При
format short e
x = [5/3 1.2345e-7]
будет выведено
1.6667E+000 1.2345E–007
При
format long
x = [5/3 1.2345e-7]
будет выведено
1.66666666666667 0.00000012345000
При
format long e
x = [5/3 1.2345e-7]
будет выведено
1.66666666666667E+000 1.2345000000000E-007
Иные способы ввода и вывода информаци будут описаны ниже.
Векторы и матрицы
Matlabизначально был предназначен для выполнения вычислений с векторами и матрицами. Поэтому по умолчанию предполагается, что каждая переменная, в том числе и скалярная – это вектор или матрица. Например, если в программе заданох=1, то это значит, что переменнаях– вектор с одним элементом, равным 1. Если надо задать вектор из трех элементов 2.87, 3.62 и 4.12, то их значения надо перечислить в квадратных скобках, разделяя пробелами, например
>>V = [2.87 3.62 4.12].
В данном случае задан вектор–строка. Если разделить элементы точкой с запятой, то получим вектор–столбец
>>V = [2.87; 3.62; 4.12].
Матрицы в Matlab’е задаются построчно. Для разграничения строк используется точка с запятой «;». Например, для задания матрицы
следует записать
>>Т = [2 -1 4 2; 3 5 -1 4; -2 8 0 -1].
Для указания отдельного элемента вектора или матрицы используются их индексация. Например, если элементу Т(i,j)надо присвоить новое значениех, то используют оператор присваивания вида
>>Т(3,2) = х;
Аналогично организуется обращение к элементам матрицы, например
>>z=Т(3,2)^2+2;
Наряду с операциями над отдельными элементами матриц и векторов Matlabпозволяет выполнять арифметические операции сразу над всеми элементами. Для этого перед знаком операции ставится точка (см. табл.1).
Имеются также ряд особых функций для задания векторов и матриц. Следует отметить функции onesиzeros. Функцияonesсоздает матрицу или вектор с единичными элементами
>> а = ones(3,2)
Функция zerosсоздает массив с нулевыми элементами
>> B = zeros(3,4)
Следует отметить одну особенность вывода матриц в командное окно. Если элементы каждой строки матрицы не помещаются в командное окно, то Matlabвыводит подзаголовок каждой строки, в котором указывает номера её элементов. Так вектор из 11-ти элементов будет выведен следующим образом
y =
Columns 1 through 7
1.0000 1.0000 1.2397 1.7126 1.9835 1.6161 1.2249
Columns 8 through 11
0.9708 0.8441 0.7278 0.6613