二维电磁场泊松方程差分格式

由泰勒公式:

以及:

两式做和,截断于项,得到二阶差商:

二维场域内泊松方程为:

​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        

于是在等距五点格式下,点的差分方程为

​​​​​​​        ​​​​​​​        ​​​​​​​      

对于拉普拉斯方程,则有:

​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        

差分方程组的解法

1直接迭代

由于        ​​​​​​​        

于是任意给出各节点处函数值然后带入上式右端,得到第一次函数近似值.

依次循环,以第n次迭代值求得第n+1次近似值,即:

​​​​​​​        ​​​​​​​        

由于此法收敛慢,又消耗两套储存单元,占用内存大,实际中并不采用。

2高斯—赛德尔迭代法

这一方法的基本思想是:在第n+1次迭代时,如果某些相关节点上的第n+1次迭代值已经得到,便可直接将这些新值代入进行运算。因此,高斯—赛德尔迭代法的公式与计算顺序是有关的。在从左到右,从上到下的逐点计算顺序中,高斯—赛德尔公式如下:

​​​​​​​        ​​​​​​​        

可以证明,这一方法迭代次数近似与成反比。但网格节点数目很大时,这一方法收敛速度仍很慢。

3超松弛迭代法

为了加快收敛,引入松弛因子,把高斯—赛德尔迭代法的值作为一个中间结果

​​​​​​​        ​​​​​​​        

取n+1次迭代为和上次迭代值的加权平均,即

​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        

整理得:

​​​​​​​        ​​​​​​​     

取值范围一般为[1,2),其具体值依靠经验。当=1时,还原为高斯—赛德尔迭代法。

应用示例:

对于这一题,编写matlab函数实现功能:输入长、宽节点数以及松弛因子,输出最终迭代结果与迭代次数。这是一个简单矩形无源空间的迪利克雷边界条件问题。不难根据上述原理写出matlab代码如下:

function [Phi2,n] = DSOR(a,b,w)%a列数
%b行数
%w松弛因子Phi = [100*ones(1,a);zeros(b-1,a)]; %生产点阵并配置边界条件
Phi(2:round(b/2-0.5),2:a-1) = 100;  %稍微填充一下内部,减少迭代次数Phi2 = Phi;
Phi1=Phi2;  %生成两个矩阵迭代n=0;    %迭代次数
p=1;    %判断条件,前后两次迭代各元素之差的绝对值的最大值,初始化为1while p>10E-10  %判断条件,p大于10E-10时继续迭代for i = 2:b-1for j = 2:a-1Phi2(i,j) = Phi1(i,j)+w*0.25*(Phi1(i+1,j)+Phi1(i,j+1)+Phi2(i-1,j)+Phi2(i,j-1)-4*Phi1(i,j));endend     %完成一次迭代n=n+1;p=max(max(abs(Phi2-Phi1))); %判断条件,前后两次迭代各元素之差的绝对值的最大值Phi1=Phi2;
end

如下图参数调用此函数

得到结果

下图是在51*51个节点时, 与迭代次数的关系:

待更新 ……

超松弛迭代法求解二维电磁场有限差分方程(附Matlab代码)相关推荐

  1. 基于主要成分分析的人脸二维码识别系统-含Matlab代码

    目录 一.引言 二.人脸图像信息处理 2.1 主成分分析PCA 2.2 PCA人脸压缩与重构算法分析 三.二维码转换以及识别 3.1 QR码 3.2 将人脸图像生成二维码 3.3 二维码的识别与图像还 ...

  2. 【图像处理】QR二维码识别与生成matlab代码

    1 简介 QR二维码的识别技术是数字图像处理领域研究的一个热门课题.随着物联网的不断发展,QR二维码凭借其强大的信息存储能力,方便快捷的识读优点,安全可靠的编码技术,已经逐渐地应用于各个行业领域.同时 ...

  3. 【路径规划】基于遗传算法求解OD对流量优化问题附matlab代码

    1 内容介绍 1.1 OD 在四阶段法交通需求预测中,交通分布预测需要现状 OD 出行量,现状 OD 出行量可以 通过直接调查或间接推算获得,直接调查需要花费大量的人力.物力.财力.精力和时间, 一般 ...

  4. 【智能优化算法-飞蛾扑火优化算法】基于水循环混合飞蛾扑火优化算法求解约束的工程优化问题附matlab代码WCMFO

    1 内容介绍 本文提出了一种基于水循环和蛾火焰优化算法的混合算法,用于求解数值和约束工程优化问题.将飞蛾火焰优化算法中飞蛾的螺旋运动引入到水循环算法中,以增强其利用能力.此外,为了增加新混合方法的随机 ...

  5. 【优化求解】基于新授粉方式的花授粉算法(NMFPA)求解单标目优化问题附matlab代码

    1 简介 为了解决因花授粉算法搜索方程存在的不足所导致的易早熟.后期收敛速度慢和寻优精度低的问题,提出了一种新授粉方式的花授粉算法(Flower Pollination Algorithm with ...

  6. MATLAB实战系列(八)-头脑风暴优化(BSO)算法求解旅行商问题(TSP)(附MATLAB代码)

    这份源代码包含7个函数,分别如下: 01 | 主函数 主函数的输入是文本文件pr226.txt(第1列是序号,第2列是x坐标,第3列是y坐标),输出是最优路线.文本文件可根据自己需要进行替换,只要保持 ...

  7. 【路径规划-VRP问题】基于模拟退火 (SA)求解车辆配送 (VPR)附Matlab代码

    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信.

  8. 【无人机】基于Fast行军树(FMT)求解无人机故障路径规划问题附matlab代码和论文

    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信.

  9. 【路径规划】基于遗传算法求解静态外卖骑手路径规划附matlab代码

    1 简介 ​据中国互联网络信息中心发布的第 44 次<中国互联网络发展状况统计报告>指出,截至 2019 年 6 月,我国网民规模达到 8.54 亿,较 2018 年底增长 2598 万, ...

最新文章

  1. postgreSQL外键引用查询 查询外键被那些表占用
  2. python知识合集
  3. 网络钓鱼大讲堂 Part4 | 网络钓鱼攻击战术
  4. Spring+SpringMVC+MyBatis+easyUI整合基础篇(四)代码简化
  5. vue使用process.env搭建自定义运行环境
  6. 无法打开物理文件 XXX.mdf,操作系统错误 5.5(拒绝访问) 的解决办法
  7. Spring Boot快速上手
  8. 大数据_Flink_数据处理_资源的分配和并行度测试---Flink工作笔记0013
  9. oracle exp(dmp)命令带过滤条件?
  10. ubuntu上安装python3.7教程_给ubuntu18安装python3.7的详细教程
  11. oracle实例创建失败,【求助】急!!!!oracle客户端安装时创建实例失败
  12. 95. php 与 xml
  13. 我的开源GIS解决方案之路
  14. Windows10版本一键转换工具
  15. 联想笔记本电脑连不上wifi,网络适配器显示黄色感叹号,错误代码56
  16. 【封神台 - 掌控安全靶场】尤里的复仇 Ⅰ 小芳!一二三四五六七章
  17. java生成word样式变形的解决方案(freemarker生成word的样式不对)
  18. 使用FileZilla连接时超时,无法连接到服务器
  19. BZOJ刷题记录---提高组难度
  20. 20180402-F · US Tuition Costs · pheatmap 绘制热图 · R 语言数据可视化 案例 源码

热门文章

  1. Unity3D_(游戏)双人3D坦克_简易版
  2. Chinese Fear More Historic Destruction
  3. 【Springboot+PageHelper】Springboot 添加PageHelper 分页
  4. 网络安全(Web-safe)字体
  5. 自己实现call|bind|apply三兄dei
  6. 实现.KML和.KMZ 文件的下载
  7. 向量相加后是否与目标向量平行
  8. 互联网商规-part2
  9. 在Java中计算各位数字立方和
  10. Mac教程:如何开启任何来源选项?