资源简介
用多重网格算法求解微分方程的matlab例子。程序采用采取四层网格,微分方程的离散选用有限差分法,每层网格上的计算采用逐次超松弛迭代法(SOR迭代);由细网格限制到粗网格,采用完全加权限制算子
代码片段和文件信息
function u_fine=interpolate(u_coarse)
%Copyright@Peng Yj NWPU2016.3.3
%由粗网格延拓到细网格,采用线性插值算子
%将下一层近似解的修正量插值到上一层
%输入项:u_coarse(粗网格列向量)
%输出项:u_fine(密网格列向量)
%示例如下:
%下一层共9个点,首尾函数值已知,去除,共7个点
%上一层共17个点,首尾函数值已知,去除,共15个点
%下一层首尾的修正量为0
% 1 1____1____1____1____1____1____1____1____1____1____1____1____1____1____1 1
% / \ | / \ | / \ | / \ | / \ | / \ | / \ | / \
% 0 / \ | / \ | / \ |1 / \ 1| / \ | / \ | / \ | / \
% / \ | / \ | / \ | / \ | / \ | / \ | / \ | / 0\
% / 1/2 \|/ \|/ \|/ 1/2 \|/ \|/ \|/ \|/ \
% 1 1_________1_________1_________1_________1_________1_________1 1
%
u_coarse_size=size(u_coarse1); %粗网格向量的长度,则细网格向量的长度为2*u_coarse_size+1
u_fine(11)=u_coarse(11)/2; %首项
u_fine(2*u_coarse_size+11)=u_coarse(u_coarse_size1)/2; %尾项
for i=1:u_coarse_size
u_fine(2*i1)=u_coarse(i1); %偶数项
end
for i=3:2:2*u_coarse_size-1
u_fine(i1)=u_coarse((i-1)/21)/2+u_coarse((i+1)/21)/2; %奇数项(除首尾项外)
end
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 186114 2016-03-04 19:27 多重网格法求解微分方程-matlab\Readme.pdf
文件 594 2016-03-03 15:21 多重网格法求解微分方程-matlab\SOR.m
文件 1277 2016-03-04 19:20 多重网格法求解微分方程-matlab\interpolate.m
文件 7052 2017-05-12 10:39 多重网格法求解微分方程-matlab\main.m
文件 2234 2017-05-15 15:20 多重网格法求解微分方程-matlab\mytestV.m
文件 1080 2016-03-04 19:21 多重网格法求解微分方程-matlab\restrict.m
目录 0 2017-09-25 10:43 多重网格法求解微分方程-matlab\
- 上一篇:批量读取温度数据
- 下一篇:matlab 数字升余弦仿真
相关资源
- matlab 数字升余弦仿真
- 批量读取温度数据
- MATLAB实现DPCM编码
- lz复杂度计算的matlab程序
- 最小二乘法Matlab代码
- matlab 程序\\\\多项式拟合插值.rar
- matlab水准网平差
- 关于汽车的制动性的MAtlab仿真
- 使用Matlab和CCS设计FIR滤波器
- 用matlab语言实现编解码
- 模拟退火算法进行函数优化 matlab
- 通信原理仿真实验 matlab
- 数学物理方程大作业 matlab
- VIBE-MEX--
- 复化Simpson公式
- 基于MATLAB的模糊控制表计算程序.m
- BCH matlab 编码
- matlab guide 选择文件夹
- Matlab_2013_64bit支持VS2013 的配置文件
- 基于视频的matlab光流法
- matlab串口实时波形显示
- matlab神经网络、模糊和LQR控制一级、
- 一级倒立摆神经网络控制
- LK光流法MATLAB代码
- matlab串口实时显示波形。
- EXR格式图片Matlab读写插件
- matlab批量抠图
- Deep Semi-NMF源代码
- Semi-NMF源代码
- 背景差分提取,波门跟踪
评论
共有 条评论