2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




 
 Уравнения теплопроводности на MATLAB
Сообщение03.03.2014, 10:05 
Аватара пользователя
Всем Добрый день!
У меня такая задача - решить численным методом уравнение теплопроводности в MatLab и как-то его изобразить (графически). Даны граничные условия, начальная температура. То есть вот у меня есть стержень длины L при какой-то начальной температуре $T_0=T(x,0)$, в какой-то момент времени его начинают греть с двух концов с постоянными температурами $T_1=T(0,t)$ и $T_2=T(L,t)$. Собственно, нужно найти зависимость $T(x,t)$. Само уравнение такое:
$\frac{\partial T}{\partial t} = A \frac{\partial^2 T}{\partial x^2}$
Если заменить производные на разностные отношения (как нам говорили, так нужно делать), то получается следующее:

$$\frac{T(x_{i},t_{j+1})-T(x_i,t_j)}{\tau} = \frac A {h^2}(T(x_{i+1},t_{j+1})-2T(x_{i},t_{j+1})+T(x_{i-1},t_{j+1}))$$.

, где h - интервал по х, $\tau$ - интервал по t.
Вот программа дает ошибку помогите пожалуйста
код: [ скачать ] [ спрятать ]
Используется синтаксис Matlab M
function [  ] = Temp( T1,T2,T0,A,L )

s=figure;
step=0.1;
t=0;
h=1;
Ti=T0*ones(L,1);
Tk=T0*ones(L,1);
colormap(bone);

while ishandle(s)
    Ti(1)=T1;
    Ti(L)=T2;
    Tk(1)=T1;
    Tk(L)=T2;
    for x=2:h:(L-1)
        Tk(x)=(A*step/h^2)*(Ti(x-1)+Ti(x+1)-2*Ti(x)) + Ti(x);
    end
    image(Ti);
    Ti=Tk;
    t=t+step;
    pause(step);
end

end
 

 
 
 
 Re: Уравнения теплопроводности на MATLAB
Сообщение04.03.2014, 18:06 
Аватара пользователя
пожалуйста помогите очень нежен!

 
 
 [ Сообщений: 2 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group