
- •22. Численное решение дифференциального уравнения порядка выше 1-го
- •24. Нелинейные дифференциальные уравнения. Устойчивость метода решения.
- •25. Дифференциальные уравнения в частных производных
- •27. Типы граничных условий и их постановка в численном дифференцировании
- •Скаляр (от лат. Scalaris — ступенчатый) — величина (возможно переменная, то есть функция), каждое значение которой может быть выражено одним числом (чаще всего подразумевается действительное число).
- •29. Численное дифференцирование. Постановка задачи. МетодЭйлера
27. Типы граничных условий и их постановка в численном дифференцировании
Классическим примером уравнения параболического типа является
уравнение теплопроводности (диффузии). В одномерном по пространству случае
однородное (без источников энергии) уравнение теплопроводности имеет вид
.
(5.1)
Если на границах х=0 и х=l заданы значения искомой функции u(x,t) в виде
u(0,t
)=
x=0,
t > 0;
u(l,t
)=
x=l,
t > 0 ; (5.2)
т.е. граничные условия первого рода, и, кроме того, заданы начальные условия
u(x,0)=ψ(x), 0 ≤ x ≤ l, t= 0 , (5.4)
то задачу (5.1)-(5.4) называют первой начально-краевой задачей для уравнения
теплопроводности (5.1)
Если на границах х=0 и х=l заданы значения производных искомой функции
по пространственной переменной
(5.5)
(5.6)
т.е. граничные условия второго рода, то задачу (5.1), (5.5), (5.6), (5.4) называют
второй начально-краевой задачей для уравнения теплопроводности (5.1).
Если на границах заданы линейные комбинации искомой функции и ее
производной по пространственной переменной
(5.7)
(5.8)
т.е. граничные условия третьего рода, то задачу (5.1), (5.7), (5.8), (5.4) называют
третьей начально-краевой задачей для уравнения теплопроводности (5.1)
Граничные условия 2-го и 3-го рода отличаются тем,
что в них присутствует производная первого порядка искомой функции по
пространственной переменной
28. Задание скаляров, векторов, матриц и многомерных массивов вС++.
Скаляр (от лат. Scalaris — ступенчатый) — величина (возможно переменная, то есть функция), каждое значение которой может быть выражено одним числом (чаще всего подразумевается действительное число).
Ниже показан пример задания вектора с именем a, и содержащий значения 1, 2, 3, 4:
a = [1 2 3 4]; % вектор-строка
Для доступа к тому или иному элементу вектора используется следующая конструкция языка:
disp( a(1) ); % отображение значения 1-го элемента вектора disp( a(2) ); % отображение значения 2-го элемента вектора disp( a(3) ); % отображение значения 3-го элемента вектора disp( a(4) ); % отображение значения 4-го элемента вектора
т.е. нужно указать имя вектора и в круглых скобках написать номер индекса элемента, с которым предполагается работать. Например, для изменения значения 2-го элемента массива на 10 достаточно записать
a(2) = 10; % изменение значения 2-го элемента на 10
Часто возникает необходимость определения общего числа элементов в векторе, т.е. определения его размера. Это можно сделать, воспользовавшись функцией length() следующим образом:
N = length(a); % (N=4) число элементов массива а
Если требуется задать вектор-столбец, то это можно сделать так
a = [1; 2; 3; 4]; % вектор-столбец
или так
b = [1 2 3 4]’; % вектор-столбец
при этом доступ к элементам векторов осуществляется также как и для векторов-строк.
Матрицей размера m x n называется прямоугольная таблица, содержащая m*n чисел, состоящая из m строк и n столбцов.
Можно объявлять не только двумерные массивы, но и массивы с большим количеством измерений. Например, объявление int A[n][m][l] создает трехмерный массив из n*m*l элементов. Для обращения к каждому элементу такого массива необходимо указать три индекса: A[i][j][k], при этом 0<=i, i<n, 0<=j, j<m, 0<=k, k<l. Количество измерений в массиве может быть практически бесконечным