超松弛迭代法求解二维电磁场有限差分方程(附Matlab代码)
二维电磁场泊松方程差分格式
由泰勒公式:
以及:
两式做和,截断于项,得到二阶差商:
二维场域内泊松方程为:
于是在等距五点格式下,点的差分方程为
对于拉普拉斯方程,则有:
差分方程组的解法
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代码)相关推荐
- 基于主要成分分析的人脸二维码识别系统-含Matlab代码
目录 一.引言 二.人脸图像信息处理 2.1 主成分分析PCA 2.2 PCA人脸压缩与重构算法分析 三.二维码转换以及识别 3.1 QR码 3.2 将人脸图像生成二维码 3.3 二维码的识别与图像还 ...
- 【图像处理】QR二维码识别与生成matlab代码
1 简介 QR二维码的识别技术是数字图像处理领域研究的一个热门课题.随着物联网的不断发展,QR二维码凭借其强大的信息存储能力,方便快捷的识读优点,安全可靠的编码技术,已经逐渐地应用于各个行业领域.同时 ...
- 【路径规划】基于遗传算法求解OD对流量优化问题附matlab代码
1 内容介绍 1.1 OD 在四阶段法交通需求预测中,交通分布预测需要现状 OD 出行量,现状 OD 出行量可以 通过直接调查或间接推算获得,直接调查需要花费大量的人力.物力.财力.精力和时间, 一般 ...
- 【智能优化算法-飞蛾扑火优化算法】基于水循环混合飞蛾扑火优化算法求解约束的工程优化问题附matlab代码WCMFO
1 内容介绍 本文提出了一种基于水循环和蛾火焰优化算法的混合算法,用于求解数值和约束工程优化问题.将飞蛾火焰优化算法中飞蛾的螺旋运动引入到水循环算法中,以增强其利用能力.此外,为了增加新混合方法的随机 ...
- 【优化求解】基于新授粉方式的花授粉算法(NMFPA)求解单标目优化问题附matlab代码
1 简介 为了解决因花授粉算法搜索方程存在的不足所导致的易早熟.后期收敛速度慢和寻优精度低的问题,提出了一种新授粉方式的花授粉算法(Flower Pollination Algorithm with ...
- MATLAB实战系列(八)-头脑风暴优化(BSO)算法求解旅行商问题(TSP)(附MATLAB代码)
这份源代码包含7个函数,分别如下: 01 | 主函数 主函数的输入是文本文件pr226.txt(第1列是序号,第2列是x坐标,第3列是y坐标),输出是最优路线.文本文件可根据自己需要进行替换,只要保持 ...
- 【路径规划-VRP问题】基于模拟退火 (SA)求解车辆配送 (VPR)附Matlab代码
✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信.
- 【无人机】基于Fast行军树(FMT)求解无人机故障路径规划问题附matlab代码和论文
✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信.
- 【路径规划】基于遗传算法求解静态外卖骑手路径规划附matlab代码
1 简介 据中国互联网络信息中心发布的第 44 次<中国互联网络发展状况统计报告>指出,截至 2019 年 6 月,我国网民规模达到 8.54 亿,较 2018 年底增长 2598 万, ...
最新文章
- postgreSQL外键引用查询 查询外键被那些表占用
- python知识合集
- 网络钓鱼大讲堂 Part4 | 网络钓鱼攻击战术
- Spring+SpringMVC+MyBatis+easyUI整合基础篇(四)代码简化
- vue使用process.env搭建自定义运行环境
- 无法打开物理文件 XXX.mdf,操作系统错误 5.5(拒绝访问) 的解决办法
- Spring Boot快速上手
- 大数据_Flink_数据处理_资源的分配和并行度测试---Flink工作笔记0013
- oracle exp(dmp)命令带过滤条件?
- ubuntu上安装python3.7教程_给ubuntu18安装python3.7的详细教程
- oracle实例创建失败,【求助】急!!!!oracle客户端安装时创建实例失败
- 95. php 与 xml
- 我的开源GIS解决方案之路
- Windows10版本一键转换工具
- 联想笔记本电脑连不上wifi,网络适配器显示黄色感叹号,错误代码56
- 【封神台 - 掌控安全靶场】尤里的复仇 Ⅰ 小芳!一二三四五六七章
- java生成word样式变形的解决方案(freemarker生成word的样式不对)
- 使用FileZilla连接时超时,无法连接到服务器
- BZOJ刷题记录---提高组难度
- 20180402-F · US Tuition Costs · pheatmap 绘制热图 · R 语言数据可视化 案例 源码