偏微分方程数值解
工具箱使用
步骤如下:
- 画区域,
Draw
或者直接在菜单栏上找,(画圆时,需要按住Ctrl
) - 设置边界条件,
Boundary
进入边界模式,按住shift
选择边界进行设置 - 设置方程:
PDE Specification
- 网格剖分
- 解方程:
Solve PDE
- 绘图:
Plot Parameters
- 输出数值解:
Export Solution
偏微分方程模型
- 椭圆方程
- 散射问题
- 最小曲面问题(泛函极值问题):利用变分极值转化为非线性偏微分方程
- 非线性椭圆型方程
- 抛物型方程
- 热传导方程
- 双曲型方程
- 波动方程
有限差分
核心:用差商代替微商
对于椭圆型:
- 五点差分格式
- 九点差分格式
- 极坐标下的差分格式
对于抛物型:
- 常系数扩散方程
- 1.1 差分格式
- 1.2 加权格式
- 1.3 三层格式
- 1.4 跳点格式
- 初值问题
- Saul‘ev算法
- 分组显示方法
- 对流扩散方程
- 修正中心显格式
- 迎风差分格式
- Samarskii格式
- 指数型差分格式
- 隐式格式
- 特征差分格式
- 变系数方程
- Taylor展开法
- Keller盒式格式
- 多维问题
- 交替方向隐式格式
- 局部一维格式
- 预测-校正格式
- 跳点格式
- 非线性方程
- Richtmyer线性化方法
- 拟线性扩散方程的隐式格式
- 三层格式
- 预测-校正法
对于双曲型:
有限元法如下:
有限差分法如下:
v0=100;%上边界
hx=17;hy=10;%确定网格步长上下界
v1=zeros(hy,hx);
v1(hy,:)=ones(1,hx)*v0;%上边界
v1(2:hy-1,2:hx-1)=ones(hy-2,hx-2);%中间的初始化
v2=zeros(hy,hx);maxt=1;t=0;%初始化
v2(hy,:)=v1(hy,:);%上边界
while (maxt>0.1)%由v1迭代,算出v2,迭代精度为0.1
for i=2:hy-1
for j=2:hx-1
v2(i,j)=(v1(i,j-1)+v1(i,j+1)+v1(i-1,j)+...
v1(i+1,j))/4;%五点格式差分法
t=v2(i,j)-v1(i,j);
maxt=0;
if(t>maxt)
maxt=t;
end
end
end
v1=v2;
end
subplot(1,2,1),surf(v2);
axis([0,17,0,10,0,100])
subplot(122)
contour(v2);%画等值线
hold on;%保屏
x=1:hx;y=1:hy;
[xx,yy]=meshgrid(x,y);%形成栅格
[Gx,Gy]=gradient(v2,0.6,0.6);%计算梯度
quiver(xx,yy,Gx,Gy,'r');%画矢量图
hold off
椭圆型
五点差分格式
未完待续。。。