谁能帮我写2个matlab画图程序,物理的,像点电荷的电场线什么的,随便2个就行,急

谁能帮我写2个matlab画图程序,物理的,像点电荷的电场线什么的,随便2个就行,急,第1张

1. 等量异号点电荷电场中电势分布

[x,y]=meshgrid(-2:0.1:2,-2:0.1:2)

%以0.1为步长建立平面数据网格

z=1./sqrt((x-1).^2+y.^2+0.01)... %写出电势表达式

-1./sqrt((x+1).^2+y.^2+0.01)

[px,py]=gradient(z)

%求电势在x,y方向的梯度即电场强度

contour(x,y,z,[-12,-8,-5,-3,-1,... %画出等势线

-0.5,-0.1,0.1,0.5,1,3,5,8,12])

hold on %作图控制

quiver(x,y,px,py,'k') %画出各点上电场的大小和方向

2. 等量同号点电荷的电场线的绘制

下面是写微分方程的函数文件

function ydot=dcx1fun(t,y,flag,p1,p2)

%p1,p2是参量,表示电量

ydot=[p1*(y(1)+2)/(sqrt((y(1)+2).^2+y(2).^2).^3)+...

p2*(y(1)-2)/(sqrt((y(1)-2).^2+y(2).^2).^3)

%dx/dt=Ex

p1*y(2)/(sqrt((y(1)+2).^2+y(2).^2).^3)+...

p2*y(2)/(sqrt((y(1)-2).^2+y(2).^2).^3)]

%dy/dt=Ey

编写好函数文件后,命名为dcx1fun.m存在当前路径下,然后开始编写解微分方程的主程序dcx1.m:

p1=10p2=10%点电荷所带电量

axis([-5,5,-5,5])%设定坐标轴范围 -5≤x≤5,-5≤y≤5

hold on %图形控制,不可擦除模式

plot(2,0,'*r')plot(-2,0,'*r') %绘制两源电荷

a=(pi/24):pi/12:(2*pi-pi/24)

%圆周上电场线起点所对应的角度

b=0.1*cos(a)c=0.1*sin(a)

%电场线起点所对应的相对坐标

b1=-2+bb2=2+b%把起点圆周的圆心放置在源电荷处

b0=[b1 b2]c0=[c c]%初始条件,所有电场线的起点

%的横、纵坐标构成了矢量b0和c0

for i=1:48 %循环求解48次微分方程

[t,y]=ode45('dcx1fun',[0:0.05:40],[b0(i),c0(i)],[ ],p1,p2)

%调用ode45求解,对应一个初条件(起点),求解出一条电场线

plot(y(:,1),y(:,2),'b') %绘制出此条电场线

end %结束循环,共绘制出48条电场线

参考于《Matlab 在基础物理学中的应用》

http://bnucourse.bnu.edu.cn/course/physics/05/jcwlxshyjy.pdf

将画图工具中所画的图保存到便于找到的文件夹,例如桌面。

在word需要插入图片的位置单击鼠标左键,然后点击“插入-图片”,在d出的对话框中找到已经保存的图片,选中图片后,点击右下角“插入”,就在word中插入了该图片。

1 GRADS有关的文件类型和维数环境

可以认为和GRADS有关的文件类型有:十进制的原始数据文件(*.TXT)、二进制的数据文件(*.DAT)、数据描述文件(*.CTL)、批处理文件(*.GS)和图形文件(*.GMF)。

气象业务中使用的站点资料或格点资料都是以十进制形式存放,而GRADS只能识别二进制的数据格式,所以使用GRADS之前的第一步就是转换数据文件;数据描述文件则是对数据文件进行说明,以便后续的 *** 作有对象;批处理文件是把进入GRADS绘图环境后所要输入的命令写成批处理格式,以便可以自动执行输入的各项 *** 作命令(批处理文件可单独建立,也可以略过不写,而在进入GRADS环境后一步一步地输入各项 *** 作命令);图形文件是GRADS已经绘制好的图形,只能用GV打开浏览。

数据文件一般都是用Power Station或Visual Fortran来转换(也可以用C语言或其它工具)。数据描述文件、批处理文件可以在“写字板"中写好,只是在存档的时候,要把文件的后缀改为.CTL和.GS。

GRADS将每一个物理量场视为1个四维数据集,它包括空间三维和时间一维。维数环境的定义由SET LAT(纬度)/LON(经度)/LEV(高度)/TIME(时间)来设置,也可由SET X/Y/Z/T来设置。

2 GRADS的使用方法

文中采用1982年1月~1994年12月共156个月气象场中的1 000 hPa的海平面气压、温度以及850 hPa、500 hPa、200 hPa的u、v风场的月平均数据和45°×15°的格点资料,来举例说明GRADS的具体使用方法(经度为40°E~150°E,纬度为10°S~25°N)。

2.1 数据文件的转换

格点资料用Power Station转换,程序如下:

PARAMETER(NX=45,NY=15)

REAL GRID(45,15)[格点资料数组大小]

CHARACTER*60 AA(156) [定义数组前的说明为字符串]

CHARACTER*20 DNAME(8) [资料文件的数量]

DATADNAME/'D:.DAT','D:.DAT',

$'D:.DAT','D:.DAT',

$'D:.DAT','D:.DAT',

$'D:.DAT','D:.DAT'/

[须描述资料文件的列举]

DO 10 N=1,8</FONT>

OPEN(10+N,FILE=DNAME(N))

10 CONTINUE

[依次打开各个资料文件]

OPEN(20,FILE='D:.GRD',FORM='BINARY',

$ACCESS='DIRECT',RECL=NX*NY*4)

[把所有须描述的资料文件数据同时放入1个文件ALLDAT中,以便只须1次转换后便可以随意调取]

INUMBER=0

DO 100K=1,156</FONT>

DO 20 N=1,8</FONT>

READ(10+N,50)AA(K)

READ(10+N,40)((GRID(I,J),I=1,NX),J=1,NY)

INUMBER=INUMBER+1

WRITE(20,REC=INUMBER)((GRID(I,J),I=1,NX),J=1,NY)

20 CONTINUE

100 CONTINUE

[本程序按经纬度顺序先读写第一时刻的SLP、SST、U850、U500、U200、V850、V500、V200,再读写第二时刻的资料,依次类推...]

40 FORMAT(15F4.0)

50 FORMAT(A60)

END

2.2 数据描述文件的编写

数据描述文件DAT.CTL的编写格式为:

DSETD:.GRD[DSET是给出所描述文件的文件名]

TITLEWEATHERDATA[该数据描述文件的标题]

UNDEF-9.99E33[缺省记录的标记]

XDEF45 LINEAR40 2.5[X方向共45个格点,起始纬度为40°,步长为2.5°]

YDEF15 LINEAR-10.0 2.5[Y方向共15个格点,起始经度为-10°,步长为2.5°]

ZDEF4 LEVELS1000 850 500 200[Z方向分为4层,即1 000、850、500、200 hPa]

TDEF 156 LINEAR JAN1982 1MO[时间共156个月,起始时间为1982年1月,步长为1个月]

VARS4 [共SLP、T、U、V 4个变量]

SLP 0 0 [SEALEVE LPRESSURE]

T 0 0 [TEMPS]

U 3 0 [UWINDS]

V 3 0 [VWINDS]

ENDVARS [结束变量说明标志]

2.3 批处理文件的编写

如果我们欲编制批处理文件时,则应注意在用写字板编写GS文件时,必须在各项命令两边加单引号。如绘制经度为40°E~150°E,纬度为-10°S~25°N,时间为1982年10月(第10时刻)的850 hPa等风速矢量图时,其批处理文件DAT.GS可以写成以下语句:

‘OPEN D:.CTL’ 

‘SET LON 40 150’

‘SET LAT -10 25’ 

‘SET TIME T 10’ 

‘SET LEV 850’ 

‘ENABLE PRINT D;.GMF’ 

‘SET GXOUT VECTOR’ 

‘SET CCOLOR 5’ 

‘DISPLAY U;V’ 

‘PRINT’

‘DRAW TITLE 10/1982 WINDS’ 

‘QUIT’ 

以上各项命令都可以根据自己的需要进行更改。比如:想要绘制经度为40°E~150°E,纬度为-10°S~25°N,时间为1984年6月的1 000 hPa气温场和温度场的合成流线图,就可以把以上的批处理文件改为:‘OPEN D:.CTL’,‘SET LON40 150’,‘SET LAT-10 25’,‘SET T 30’,‘SET LEV 1000’,‘ENABLE PRINT D;.GMF’,‘SET GXOUT CONTOUR’,‘SET CCOLOR 5’,‘SET CSTYLE 3’,‘DISPLAY T’,‘SET CSTYLE 1’,‘DISPLAY SLP’,‘PRINT’,‘DRAW TITLE 6/1984 WINDS’,‘QUIT’。

3 结语

当然,GRADS可以绘制的图形远不止这些,若固定经度、时间,让纬度、高度变化,则可以画出气象场的剖面图;若固定经、纬度和高度,让时间变化,则可以画出某气象要素场随时间的变化。另外,GRADS还可以通过调用函数名来直接绘制气象图形,如当设置显示命令“DISPLAY HCURL(U,V)”和“DISPLAY HDIVG(U,V)”时,就可以直接得出垂直涡度和水平散度图等。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12130524.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存