Е. Текст М-файла позволяющего решать уравнение теплопроводности при помощи встроенной функции pdepe связанный с интерфейсом
Bc — функция задающая краевые условия. Команда axis () устанавливает масштаб. Xlabel ('x'), ylabel (strcat ('u (x', num2str (tt (end)),')')),. Второй — определяет номер узла. И правом (Pb, Qb) концах интервала. N — число ячеек на отрезке. Tt — задает временные слои. Plot — построение графика. Sol = pdepe (m,@pde,@ic,@bc, xx, tt); Axis (), xlabel ('x'), ylabel ('t'). Function = bc (a, ua, b, ub… Читать ещё >
Е. Текст М-файла позволяющего решать уравнение теплопроводности при помощи встроенной функции pdepe связанный с интерфейсом (реферат, курсовая, диплом, контрольная)
% Решение выводится в трехмерный массив SOL,.
% причем первый индекс отвечает временному слою,.
% второй — определяет номер узла.
% третий — дает номер компоненты вектора решения.
% SOL (i, j, k) даёт значение решения U^k (x^j, t^i).
function function_pdepe.
global hAxes1 hAxes2.
global hEdit1 hEdit3 hEdit4 hEdit6 hEdit9 hEdit12 hEdit13 hEdit15 hEdit17.
global A1 C1 D1 U1 Q2.
str1=get (hEdit1,'String');
str3=get (hEdit3,'String');
str4=get (hEdit4,'String');
str6=get (hEdit6,'String');
str9=get (hEdit9,'String');
str12=get (hEdit12,'String');
str13=get (hEdit13,'String');
str15=get (hEdit15,'String');
str17=get (hEdit17,'String');
A1 = str2num (str9).
C1 = str2num (str12).
D1 = str2num (str13).
% m — параметр позволяющий решать одномерные задачи для радиальной.
% координаты в декартовой (m = 0), в цилиндрической или полярной (m = 1),.
% а также в сферической (m = 2) системе координат.
m = str2num (str6);
% a, b — концы отрезка изменения переменной x.
a = 1;
b = 3*pi/2;
n = str2num (str1).
% p — параметры.
%p = str2num (str20).
%A1 = str2num (str8).
%C1 = str2num (str11).
%D1 = str2num (str12).
U1 = str2num (str15).
Q2 = str2num (str17).
% n — число ячеек на отрезке.
% xx — узлы сетки.
% Функция x = linspace (x1, x2, n) формирует линейный массив размера 1 х n,.
% начальным и конечным элементами которого являются точки x1 и x2.
xx=linspace (a, b, n);
% tt — задает временные слои.
tmax = str2num (str3).
dt = str2num (str4).
tt =0:dt:tmax.
% обращение к функции решения системы уравнений в частных производных.
% ic — функция задающая начальные условия.
% bc — функция задающая краевые условия.
sol = pdepe (m,@pde,@ic,@bc, xx, tt);
u = sol (, 1);
% mesh (X, Y, Z) выводит на экран сетчатую поверхность для значений.
% массива Z, определенных на множестве значений массивов X и Y.
axes (hAxes1);
mesh (xx, tt, u),.
% Команда axis ([xmin xmax ymin ymax zmin zmax]) устанавливает масштаб.
% по осям x, y, z для активного графического окна.
axis ([a b tt (1) tt (end) 0 1.5]), xlabel ('x'), ylabel ('t').
% plot — построение графика.
axes (hAxes2);
plot (xx, u (end:)),.
% xlabel — задание нозваний координатных осей.
xlabel ('x'), ylabel (strcat ('u (x', num2str (tt (end)),')')),.
% axis tight — не позволяет изменится размеру кадра.
axis tight.
% Вспомогательная функция вычисления правой части.
function [C, F, S]= pde (x, t, u, DuDx).
global A1.
% Выходные данные представлены диагональной матрицей C и векторами F, C.
C = 1;
F = DuDx;
S = -A1*exp (-t);
% Вспомогательная функция задания начальных условий.
function u0 = ic (x).
global C1 D1.
u0 =C1+D1*sin (x);
% Вспомогательная функция задания краевых условий.
% выходные параметры представлены векторами на левом (Pa, Qa).
% и правом (Pb, Qb) концах интервала.
function [Pa, Qa, Pb, Qb] = bc (a, ua, b, ub, t).
global U1 Q2.
Pa = ua+U1;
Qa = 0;
Pb = 0;
Qb = ub+Q2;