Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
21.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
112.86 Кб
Скачать

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. Количество измерений в массиве может быть практически бесконечным

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]