matlab 偏微分方程数值解

     已知一个正方形的温度场[0,1]Х[0,1],其边界条件为在 轴的一边上温度为0,其他各边上的温度均为1,可知各点处的温度值 满足Laplace方程,将区域分为 份,并首先假定内部改革点处的温度均为0,给定误差限为0.005,最后利用图像显示出各点处的温度值.

代码:

clc;
clear all;
u=zeros(50,50);
u(1,:)=1.0;
u(50,:)=1.0;
u(:,50)=1.0;
ub=u+8;
u_next=u;
while max(max(abs(u-ub)))>0.005
    u_next(2:49,2:49)=(u(3:50,2:49)+u(1:48,2:49)...
        +u(2:49,3:50)+u(2:49,1:48))/4;
    ub=u;
    u=u_next;
end
plot(u);


 

result:

matlab 偏微分方程数值解_第1张图片

你可能感兴趣的:(matlab 偏微分方程数值解)