Автор работы: Пользователь скрыл имя, 12 Декабря 2011 в 22:13, курсовая работа
Аннотация
В работе сначала приводятся основные понятия и математическое толкование разностной схемы для нелинейных уравнений переноса тепла вида , далее приводятся разработанные в ходе исследований методы. В третьем разделе описываются работы методов и выявляются результаты. Далее делается вывод о целесообразности применении тех или иных схем и листинги разработанных методов.
Аннотация 3
Введение 4
Раздел 1. Математическое описание основных понятий и разностных схем 5
Раздел 2. Библиотека функций, разработки 9
Раздел 3. Тестирование 11
Вывод 17
Заключение 18
Список использованной литературы 19
Приложения 20
TeploprovodNotLine2.m |
function
[x,t,Ymain]= %l - длинна стержня %N - Разбиение сетки по пространственной координате %T - Разбиение сетки по временной координате %k_U - функция k(U) %f_U - функция f(U) %U0 - Начальное распределение температуры %U1 - Функция подачи тепла на начало стержня %U2 - Функция подачи тепла на конец стержня %E - точность вычислений %----------------------------- %создание сетки h=l/N; tau=T/K; x=[0:h:h*N]; t=[0:tau:tau*K]; coef=0.5*tau/h^2; %----------------------------- Ymain=zeros(K+1,N+1); % матрица полученных значений. Ymain(1,:)=feval(U0,x); % Вставка значений начальных условий в первую строку, где U(x,0)=f(x); Ymain(:,1)=feval(U1,t'); % Вставка значений начальных условий в первый столбец, где U(0,t)=f1(t); Ymain(:,N+1)=feval(U2,t'); % Вставка значений начальных условий в последний столбец, где U(1,t)=f2(t); U=zeros(N-1,N-1); D=1; %0-я итерация для заполнения значений для 1-й итерации... for i=1:K %заполняем ai for j=1:N
a(j)=0.5*(feval(k_U,Ymain(i,j+ end; %составление основной матрицы для С.Л.А.У. %диагонали, расположенные вышеи ниже главной UpDiag=(tau/h^2).*a; U=diag(UpDiag(1,2:N-1),1)+ %Главная диагональ for j=1:N-1
U(j,j)=-(1+(tau/h^2)*(a(j)+a( end; % Составление правых частей для С.Л.А.У. B=-tau*feval(f_U,Ymain(i,2:N)) B(1,1)=B(1,1)-(tau/h^2)*a(1)* B(1,N-1)=B(1,N-1)-(tau/h^2)*a( Solution=U\B'; Ymain(i+1,2:N)=Solution'; end; %Далее запускаем итерационный процесс while(E<D) for i=1:K %заполняем ai for j=1:N
a(j)=0.5*(feval(k_U,Ymain(i+1, end; %составление основной матрицы для С.Л.А.У.
%диагонали, расположенные UpDiag=(tau/h^2).*a;
U=diag(UpDiag(1,2:N-1),1)+ %Главная диагональ for j=1:N-1
U(j,j)=-(1+(tau/h^2)*(a(j)+a( end; % Составление правых частей для С.Л.А.У.
B=-tau*feval(f_U,Ymain(i+1,2:
B(1,1)=B(1,1)-(tau/h^2)*a(1)*
B(1,N-1)=B(1,N-1)-(tau/h^2)*a( Solution=U\B';
M=norm((Ymain(i+1,2:N)-
%D=norm((Ymain(i+1,2:N)- if(M<D) D=M; end; Ymain(i+1,2:N)=Solution'; end; end; figure; surf(x,t,Ymain); |
k_U.m |
function
ansK_U=k_U(Y)
%ansK_U=Y^2; %ansK_U=1; %ansK_U=Y.^7; %степенная нелинейность ansK_U=-exp(3*Y); %экспоненциальная нелинейность |
f_U.m |
function
Y=f_U(U)
%Y=0; %без источника %Y=sin(U); Y=0.45*U.*(1.-U); %Уравнение Фишера. %Y=0.45*U-0.1*U.^3; %Уравнение Ньюэлла--Уайтхеда (Newell--Whitehead). |
U0.m |
function
UX=U0(X)
UX=sin(X+0.45); |
U1.m |
function
UT=U1(T)
UT=cos(T+0.45); |
U2.m |
function
UT=U2(T)
UT=6*T+0.9; |
Информация о работе Численное решение уравнений теплопроводности методом разностных схем