- •Численные методы
- •Содержание
- •Введение
- •1. Вычисление определенных интегралов Справочная информация
- •Формула средних прямоугольников
- •Формула трапеций
- •Формула Симпсона (j.Gregory(Грегори)1668,Th.Simpson1743)
- •Пример решения в среде Matlab
- •Контрольные задания
- •2. Решение нелинейных уравнений Справочная информация
- •Метод простых итераций Метод основывается на приведении исходного уравнения к форме
- •Относительная разница между значениями приближения корня на третьей и четвёртой итерациях составляет
- •Метод хорд
- •Пример решения на пэвм в среде Matlab
- •Контрольные задания
- •3. Решение систем линейных алгебраических уравнений Справочная информация
- •Метод Гаусса с выбором главного элемента
- •Метод простых итераций
- •О выборе метода решения систем уравнений
- •Пример решения на пэвм в среде Matlab
- •Контрольные задания
- •4. Интерполяция таблично заданных функций Справочная информация
- •Кусочно-линейная интерполяция
- •Пример решения на пэвм в среде Matlab
- •Контрольные задания
- •5. Аппроксимация таблично заданных функций Справочная информация
- •Пример решения на пэвм в среде Matlab
- •Контрольные задания
- •6. Решение задачи коши для обыкновенных дифференциальных уравнений 1-го порядка Справочная информация
- •Усовершенствованный метод Эйлера
- •Оценка погрешностей методов
- •Программное обеспечение
- •Пример решения на пэвм в среде Matlab
- •Контрольные задания
- •7. Решение задачи коши для нормальных систем обыкновенных дифференциальных уравнений и уравнений высших порядков Справочная информация
- •Метод Эйлера
- •Усовершенствованный метод Эйлера
- •Оценка погрешностей методов
- •Пример решения на пэвм в среде Matlab
- •Контрольные задания
- •Приложение. Основы работы в среде matlab Интерфейс среды
- •Переменные и константы
- •Арифметические операторы
- •Операторы отношения
- •Логические операторы
- •Элементарные функции
- •Простейшие способы ввода–вывода информации
- •Векторы и матрицы
- •Оператор двоеточие «:»
- •Оператор разветвления if
- •Операторы циклов
- •Вывод информации в файл
- •Форматный вывод информации
- •Ввод данных из файла
- •Построение графиков
- •Сообщения об ошибках и исправление ошибок
- •Список литературы
Оператор двоеточие «:»
При программировании бывает необходимо формирование числовых последовательностей разного вида. В частности, они требуются для создания векторов или значений аргумента хпри построении графиков. В Matlab’е для этого используется оператор двоеточие «:», который представляется следующим образом:
х = Начальное_значение:Шаг:Конечное_значение;
Эта конструкция создает возрастающую арифметическую последовательность чисел, которая начинается с начального значения, изменяется на заданный шаг и завершается конечным значением. Эти значения записываются в память ЭВМ в виде массива. Если шаг последовательности не задан, то он принимает значение 1. Если конечное значение указано меньшим, чем начальное значение, то выдается сообщение об ошибке.
Оператор разветвления if
Условный оператор ifв Matlab’е записывается в общем виде следующим образом
if «логическое выражение»
Операторы 1
elseif «логическое выражение»
Операторы 2
else
Операторы 3
end;
Эта конструкция имеет несколько частных вариантов:
if «логическое выражение»
Операторы 1
end;
или
if «логическое выражение»
Операторы 1
else
Операторы 2
end;
В запись Операторымогут входить один или несколько операторов. В последнем случае они разделяются символами «,» (запятой) или «;» (точкой с запятой).
Простое логическое выражение в операторе ifимеет следующую структуру
Выражение 1 «оператор отношения» Выражение 2
где операторы отношения описаны в табл.2. Примером записи одного из вариантов оператора ifможет служить следующая конструкция
if x>=y^2+1
z = sqrt(x^2 + y^2);
t = 1/(x + y^2);
else
z = 0;
t = 0;
end;
Из простых логических выражения могут создаваться сложные с применением логических операций, приведённых в табл.3. Например
if or(and(x>y^2,x<2),x>=4)
Если логическое выражение в операторе ifпринимает значение1(true– истина), то выполняются операторы, следующие за ним. В противном случае, когда логическое выражение принимает значение0(false– ложь), операторы, следующие за логическим условием, не выполняются.
Оператор endуказывает на конец зоны действия условного оператораif.
Операторы циклов
В Matlab’е существует три типа операторов цикла. Один из них – операторfor…endиспользуется для организации цикла с фиксированным числом повторений. Он имеет вид:
for x = выражение
Операторы
end;
Здесь x– счетчик цикла, в качестве которого может быть любая переменная, обычно этоi,j,k,l,mи так далее. Выражение в этом операторе имеет структуру
начальное значение: шаг: конечное значение
Возможна запись в виде
начальное значение: конечное значение
тогда шаг = 1.
Список операторов завершается ключевым словом end, ограничивающим зону действия оператораfor.
С помощью оператора forможно организовывать вложенные циклы, например
for i = 1: 3
for j = 1: 3
a(i,j) = i*j;
end;
end;
В результате выполнения этого двойного цикла формируется матрица
.
Вторым оператором цикла является конструкция типа while…end. Она имеет вид
while «логическое выражение»
Операторы
end;
Её операторывыполняются до тех пор, пока выполняется условие, заданноелогическим выражением.
Здесь следует упомянуть операторы continueиbreak. Операторcontinueпередает управление в следующую итерацию цикла, пропуская операции, которые записаны за ним, а операторbreakиспользуется для досрочного прерывания цикла.