Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТОЭ, ТЭМП, Лекции.doc
Скачиваний:
88
Добавлен:
21.03.2015
Размер:
1.92 Mб
Скачать

Пример применения matlab

Задача.

Дано: В объёме тетраэдра скалярное и векторное поля изменяются по линейному закону. Координаты вершин тетраэдра заданы матрицей вида [x1, y1, z1; x2, y2, z2; x3, y3, z3; x4, y4, z4]. Значения скалярного поля в вершинах заданы матрицей [Ф1; Ф2; Ф3; Ф4]. Декартовы компоненты векторного поля в вершинах заданы матрицей [F1x, F1y, F1z; F2x, F2y, F2z; F3x, F3y, F3z; F4x, F4y, F4z].

Определить в объёме тетраэдра градиент скалярного поля, а также дивергенцию и ротор векторного поля. Составить для этого функцию MATLAB.

Решение. Ниже приведён текст m-функции.

% grad_div_rot - Вычисление градиента, дивергенции и ротора ... в объёме тетраэдра

% [grad,div,rot]=grad_div_rot(nodes,scalar,vector)

% ВХОДНЫЕ ПАРАМЕТРЫ

% nodes - матрица координат вершин тетраэдра:

% строкам соответствуют вершины, столбцам - координаты;

% scalar - столбцовая матрица значений скалярного поля в вершинах;

% vector - матрица компонентов векторного поля в вершинах:

% строкам соответствуют вершины, столбцам - декартовы компоненты.

% ВЫХОДНЫЕ ПАРАМЕТРЫ

% grad - матрица-строка декартовых компонентов градиента скалярного поля;

% div - значение дивергенции векторного поля в объёме тетраэдра;

% rot - матрица-строка декартовых компонентов ротора векторного поля.

%

% При вычислениях предполагается, что в объёме тетраэдра

% векторное и скалярное поля изменяются в пространстве по линейному закону.

function [grad,div,rot]=grad_div_rot(nodes,scalar,vector);

a=inv([ones(4,1) nodes]); % Матрица коэффициентов линейной интерполяции

grad=(a(2:end,:)*scalar).'; % Компоненты градиента скалярного поля

div=[a(2,:) a(3,:) a(4,:)]*vector(:); % Дивергенция векторного поля

rot=sum(cross(a(2:end,:),vector.'),2).';

Пример запуска разработанной m-функции:

>> nodes=10*rand(4,3)

nodes =

3.5287 2.0277 1.9881

8.1317 1.9872 0.15274

0.098613 6.0379 7.4679

1.3889 2.7219 4.451

>> scalar=rand(4,1)

scalar =

0.93181

0.46599

0.41865

0.84622

>> vector=rand(4,3)

vector =

0.52515 0.01964 0.50281

0.20265 0.68128 0.70947

0.67214 0.37948 0.42889

0.83812 0.8318 0.30462

>> [grad,div,rot]=grad_div_rot(nodes,scalar,vector)

grad =

-0.16983 -0.03922 -0.17125

div =

-1.0112

rot =

-0.91808 0.20057 0.78844

Если предположить, что пространственные координаты измеряются в метрах, а векторное и скалярное поля – безразмерные, то в данном примере получилось:

grad Ф = (-0.169831x - 0.039221y - 0.171251z) м-1;

div F = -1.0112 м-1;

rot F = (-0.918081x + 0.200571y + 0.788441z) м-1.

1.5. Основные законы теории электромагнитного поля Уравнения эмп в интегральной форме

Закон полного тока:

или

Циркуляция вектора напряженности магнитного поля вдоль контура l равна полному электрическому току, протекающему через поверхность S, натянутую на контур l, если направление тока образуют с направлением обхода контура правовинтовую систему.

Закон электромагнитной индукции:

,

где Ec – напряженность стороннего электрического поля.

ЭДС электромагнитной индукции eи в контуре l равна скорости изменения магнитного потока через поверхность S, натянутую на контур l, причем направление скорости изменения магнитного потока образует с направлением eи левовинтовую систему.

Теорема Гаусса в интегральной форме:

Поток вектора электрического смещения через замкнутую поверхность S равен сумме свободных электрических зарядов в объёме, ограниченном поверхностью S.

Закон непрерывности линий магнитной индукции:

Магнитный поток через любую замкнутую поверхность равен нулю.

Непосредственное применение уравнений в интегральной форме позволяет производить расчет простейших электромагнитных полей. Для расчета электромагнитных полей более сложной формы применяют уравнения в дифференциальной форме. Эти уравнения называются уравнениями Максвелла.