matlab有限差分法编程波导_有限差分法及matlab实现.pdf
有限差分法及matlab实现
有限差分法解静电场的边值问题的算法实现及相关问题讨论:
王宁远
中国科学技术大学 09 级物理 2 班
E-mail wny@mail.ustc.edu.cn
摘要:
本文用 MATLAB 实现了有限差分法解静电场边值问题的算法,将偏微分方程的问题化为线性方程
组问题,并使用了迭代法进行线性方程组的数值解。讨论了从几个角度去优化迭代法的措施。并运用这
样的方法解决了文 [1]的闪电模拟问题,,使用了更优化的算法对重新进行了计算,并一定程度上改进了
模型,讨论了几个与文[1]所持的不同的观点。
正文:
经典场的边值问题在数学上表达为泊松方程和拉普拉斯方程,但解偏微分方程往往是困难的。幸而
很多时候对于具体问题我们需要的不是解析解,而是数值解,所以可以考虑用连续变量离散化的方法求
出数值解,在足够的精度上进行逼进,这就引出了有限差分法。
1.1 有限差分法:
有限差分法:
微分: f 'x =f x h−f x h 0=dy
h dx
用有限的 h 代替,使得
f 'x ≈ △ y
△ x
差分的种类:
f x h−f x f x −f x −h f x h−f x −h
一阶差分: 或者 或者
h h 2h
f x h−f x f x −f x −h
−
二阶差分 : h h f x hf x −h−2f x
=
h h2
设 U x , y , z 为空间电势的函数 。
泊松方程:
∇ 2 U =ρ
使用二阶差分代替泊松方程中的拉普拉斯算符,有:
2 ∂2 U ∂2 U ∂2 U f x h, y , z f x −h, y ,z −2f x , y ,z
∇ U = 2 2 2 =∑ 2
∂ x ∂ y ∂ z h
∑ 表示分别对三个变元求差分之和,以下相同
矩阵(数组)是计算机中重要的数据结构,为了方便用矩阵去存储数据,我们网格去划分空间,从而不
仅使方程化为简单的有限差分形式,而且这样的数据类型在
计算机中易于储存和运算。那么 h=k=l=1 ,并且令f(x,y,z)=u(x,y,z)
就有
U i1,j , kU i−1,j , kUi , j 1,kU i, j −1,kU i, j , k1U i, j , k−1
= 6Ui, j , kρ
这就是泊松方程的有限差分形式,以下估计该方程的精度:
由泰勒公式,易知有以下结果:
∂ U 1 ∂2 U 2 1 ∂3 U 3
U x h , y , z =U x , y , z h 2 h 3 h ⋯
∂ x 2 ∂ x 6 ∂ x
∂ U 1 ∂2 U 2 1 ∂3 U 3
U x , y k,
matlab有限差分法编程波导_有限差分法及matlab实现.pdf相关推荐
- matlab有限差分法编程波导_有限差分法的Matlab程序
fori=1:n-1 x(i)=a+i*h; function FD_PDE(fun,gun,a,b,c,d) % 用有限差分法求解矩形域上的 Poisson 方程 tol=10^(-6); % 误差 ...
- C#与Matlab混合编程中遇到的“MathWorks.MATLAB.NET.Arrays.MWNumericArray”的类型初始值设定项引发异常。
C#与Matlab混合编程中遇到的"MathWorks.MATLAB.NET.Arrays.MWNumericArray"的类型初始值设定项引发异常. 参考文章: (1)C#与Ma ...
- MATLAB中fix啥意思,matlab fix函数用法_常见问题解析,matlab
matlab syms什么意思_常见问题解析 matlab中syms的意思是定义多个变量,可以用来创建符号变量x和y,语法是"syms x y":也可以创建一些符号变量.函数和数组 ...
- matlab app设计步骤_如何从MATLAB/Simulink入手,系统地学习自动驾驶?
自动驾驶相关的软件工具有不少,作为汽车工程师,我们最熟悉的可能是MATLAB/Simulink.如何从MATLAB/Simulink入手,系统地学习自动驾驶? 本文来源:自动驾驶仿真 自动驾驶相关的软 ...
- matlab最优控制实验报告_最优控制的MATLAB实现.doc
最优控制的MATLAB实现 最优控制的MATLAB实现 摘要 线性二次型最优控制是一种普遍采用的最优控制系统设计方法.使用MATLAB软件设计的GUI控制界面实现最优控制,有较好的人机交互界面,便于使 ...
- matlab 写excel 慢_吐槽一下MATLAB的workspace
用MATLAB编程,或者Simulink建模仿真,有一个特别强大.特别人性化的功能,可以在workspace中直接查看定义的参数和运行的结果 无论是仿真的调试,结果的分析,或是中途的Debug,wor ...
- matlab去除图片水印_怎么用matlab从含有水印的图像中提取出水印
展开全部 3 视频水印的嵌入和检测方案 3.1水印的预处理 采用二值图像作为待嵌入的水印数据,本文e69da5e887aa323131333532363134313032313635333133333 ...
- matlab计算斜方差_协方差与Matlab的实现
(参考文章) 标准差和方差一般是用来描述一维数据的 所谓的维数,拿EEG信号来说,每个通道就是一个维度,而同一个通道的每个一数字是样本. 协方差就是这样一种用来度量两个随机变量关系的统计量,我们可以仿 ...
- matlab无穷积分求解_从零开始的matlab学习笔记——(8)积分
上节说了说求导,这节就顺带着说一说求积分,凑个完整. 不定积分: 定积分的代码和极限求导都差不多: syms x f; f=(3-x^2)^3; ans1=int(f,x) pretty(ans1) ...
- matlab批量生成灰度图像_科学网—matlab彩色图像的批处理转换为灰度、二值和主成分图图像 - 金秀良的博文...
这段代码主要用来进行图像的批处理转换为灰度.二值和主成分图图像,希望给大家借鉴.其中 RGB to bw可以直接实现,但是效果不好,所以先用RGB to gray,之后再gray to bw.RGB ...
最新文章
- 怎样在Red Hat Enterprise Linux 5.4版本上安装GCC?
- 红杉中国合伙人刘星:新零售新在哪里?
- hadoop大数据——mapreduce程序提交运行模式及debug方法
- java课程总结_java课程总结报告.doc
- SSE图像算法优化系列二十二:优化龚元浩博士的曲率滤波算法,达到约1000 MPixels/Sec的单次迭代速度...
- quartz SpringMvc 动态定时任务(quartz2.2)
- centos 6 mysql 5.7.13 编译安装_Centos 6.5系统下编译安装PHP 7.0.13的方法
- nodejs 中http请求头,响应头
- 读懂才会用 : 瞅瞅Redis的epoll模型
- 财务报表分析,Smartbi财务BI项目解决方案
- java基础标识符,关键字,常量
- taptap评论爬虫
- tmux关机永久保存会话
- c++ opencv 读取文件夹里所有图片
- Windows基础 加固
- 运算放大器---转换速率(slew rate)
- 详细SpringBoot教程之入门(一)
- android显示输入法键盘布局,android 解决输入法键盘遮盖布局问题
- 使用按键精灵实现界面点击自动化
- vue表单验证,中文验证
热门文章
- KEPServerEX V6轻松连接Wonderware InTouch
- bp神经网络matlab feedfollownet,BP神经网络模型:Matlab
- 现代电视原理期末复习
- 华为私密相册计算机找回密码,华为手机隐私空间密码忘了怎么办 华为手机隐私空间密码忘了解决方法...
- 查看MD04结果的程序 Production Planning - Extract data from MRP Table
- c语言整人小程序格式,【C语言】整人小程序
- 挖金子修订版开发进行中
- 6.Linux中的进程管理
- everything用于移动硬盘资料管理(一):离线搜索
- 基于SSM实现在线考试及题库管理系统