基于matlab的静电场电势分布问题Word格式.docx
- 文档编号:21375394
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:12
- 大小:592.62KB
基于matlab的静电场电势分布问题Word格式.docx
《基于matlab的静电场电势分布问题Word格式.docx》由会员分享,可在线阅读,更多相关《基于matlab的静电场电势分布问题Word格式.docx(12页珍藏版)》请在冰豆网上搜索。
在pdespecification中,因求解静电场问题,故根据
可知rho=0
在边界条件中,根据该问题直角坐标形式的方程,可知边界条件为
所以在boundarycondition中令r=y.^2./(x.^2+y.^2)
设置好参数之后点击solve求解这个问题可得稳态图像
现在用有限差分法求其数值解:
利用有限差分法,查阅资料可知,对求解域划分网格,则
可以转化为
编写matlab代码求解此方程,绘制出如下图像:
比较二者,相似度较高,而且当有限差分法迭代次数增加时,数值解越趋近于pdetool得出的解。
三、三维定解问题
球形域内外的电势分布。
在半径为1的球内和球外分别求调和函数u,使它在求面上满足
上文利用pde工具箱很简捷的绘制出了二维情况下该定解问题的图像,而对于三维定解问题,由于pde工具箱求解域只能是二维,故无法使用pde工具箱,通过查阅matlabhelp可知pedpe()函数只能直接求解一维波动方程或者传输方程,对于三维稳态方程更是无从下手,因此考虑从其他角度将此问题转化。
由于方程的自由项及定解条件中的已知函数均与变量
无关,故可以推知,所求调和函数只与
两个变量有关。
因此,所求问题可转化为下列定解问题:
分离变量法,令
代入原方程,得
所以
,
则得到legendre方程
而对于
,是一个欧拉方程,解之得
因为r<
1时,
不收敛,r>
1时
不收敛,故当r<
1时B=0,r>
1时A=0.
所以原问题的解为
1°
r<
1时,
其中
为n次legendre多项式。
Legendre多项式具有正交性,可以构成一组正交基,因此用它可以作为基底表征函数。
用mupad可以很方便得求出
的表达式并绘制出图像。
因此,
可以作为一组基来表示u.
根据①②两式,由matlab的mupad工具箱求解,
u=sum(((2*n+1)/2)*(int(((cos(`&
theta;
`))^2*(orthpoly:
:
legendre(n,cos(`&
`)))*(sin(`&
`))),`&
`=0..PI))*(r/a)^n*(orthpoly:
legendre(n,cos(`&
`))),n=0..60)
得
化简得
由于式中只有θ和r两个参数,与
,所以截取xoz平面画其函数图像。
2°
r>
由上面结论知,
用matlab绘制xoz截面的图像
将二者合二为一,得这个定解问题的xoz截面上u的分布情况:
四、总结
通过本次课程设计,将某些定解问题的求解过程与matlab仿真联系起来,加深了对课程本身的理解,也提高了matlab的操作应用能力。
在没有用过mupad以及pdetool的情况下,能够根据matlabhelp自学mupa以及pdetool,个人来说还是比较满意的。
但因为本次课设时间安排不够合理,以及对这门课理解有限,文章中还有很多不足之处还有待改进。
比如求解三维定解问题时求解过程较繁琐,用mupad进行符号运算需要给定有限步长才能求解等问题,使得这种方法难以推广,还有待改进。
五、参考资料
[1]李明奇,田太心.数学物理方程.电子科技大学出版社.2006.
[2]石辛民,翁智.数学物理方程及其matlab解算.清华大学出版社.2011
[3]彭芳麟.数学物理方程的MATLAB解法与可视化.清华大学出版社.2004.
六、附录:
三维情况Matlab绘图代码
clearall
x=linspace(0,2,1000);
y=linspace(-2,2,1000);
x1=x;
y1=y;
x2=x;
y2=y;
[xx1,yy1]=meshgrid(x1,y1);
[xx2,yy2]=meshgrid(x2,y2);
z1=1/3+(yy1.^2./(xx1.^2+yy1.^2)-1/3).*(yy1.^2+xx1.^2);
z2=1./(3*sqrt(xx2.^2+yy2.^2))+(yy2.^2./(xx2.^2+yy2.^2)-1/3)./sqrt((xx2.^2+yy2.^2).^3);
fori=1:
1000
forj=1:
if(x(i)^2+y(j)^2)>
=1
z1(j,i)=0;
else
z2(j,i)=0;
end
end
mesh(xx1,yy1,z1)
holdon
mesh(xx2,yy2,z2)
xlabel('
x'
);
ylabel('
z'
zlabel('
u'
title('
½
Ø
È
¡
xozÆ
Ã
æ
¹
Û
²
ì
uµ
Ä
·
Ö
¼
Ç
é
¿
ö
'
二维有限差分法求数值解
h=5;
%步长
hx=15*h+1;
%网格横向节点数
hy=15*h+1;
%网格纵向节点数
x=linspace(-1,1,hx);
y=linspace(-1,1,hy);
%------------------%设置零级近似值-------------------
[xx,yy]=meshgrid(x,y);
%//用零矩阵对网格各节点电位进行初值化
v1=[xx,yy];
hx
hy
v1(i,j)=abs(sqrt(y(j)^2/(x(i)^2+y(j)^2)));
%给定边界条件,内部点随意给定初值
v2=meshgrid(x,y);
%//初值化结果变量
%------------------以v1开始迭代计算v2----------------
fori=1:
forj=1:
1
v2(i,j)=abs(sqrt(y(j)^2/(x(i)^2+y(j)^2)));
v2(i,j)=abs((v1(i,j-1)+v1(i,j+1)+v1(i-1,j)+v1(i+1,j))/4);
%//拉普拉斯方程
%---------------用v2代替v1,以v1循环迭代计算v2-----------
fork=1:
1000%//循环次数
v1=v2;
forj=1:
v2(i,j)=abs((v1(i,j-1)+v1(i,j+1)+v1(i-1,j)+v1(i+1,j))/4);
%拉普拉斯方程
%------------结果成图----------
forj=1:
fori=1:
v2(i,j)=0;
mesh(xx,yy,v2);
%//绘三维曲面图
title('
有限差分法--迭代次数为1000时'
)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 matlab 静电场 电势 分布 问题