КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Пример применения MATLAB
Интегральные теоремы Теорема о градиенте Теорема о дивергенции Теорема о роторе
Задача. Дано: В объёме тетраэдра скалярное и векторное поля изменяются по линейному закону. Координаты вершин тетраэдра заданы матрицей вида [ x 1, y 1, z 1; x 2, y 2, z 2; x 3, y 3, z 3; x 4, y 4, z 4]. Значения скалярного поля в вершинах заданы матрицей [Ф1; Ф2; Ф3; Ф4]. Декартовы компоненты векторного поля в вершинах заданы матрицей [ F 1 x , F 1 y , F 1 z ; F 2 x , F 2 y , F 2 z ; F 3 x , F 3 y , F 3 z ; F 4 x , F 4 y , F 4 z ]. Определить в объёме тетраэдра градиент скалярного поля, а также дивергенцию и ротор векторного поля. Составить для этого функцию 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* 1 x - 0.03922* 1 y - 0.17125* 1 z) м-1; div F = -1.0112 м-1; rot F = (-0.91808* 1 x + 0.20057* 1 y + 0.78844* 1 z) м-1.
Дата добавления: 2014-01-04; Просмотров: 736; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |