你好,我试着在R中出现一个图,步长为0.1,在0-89空间内,我不知道怎么做。代码是:
c1 = 1500
c2 = 1600
c3 = 1850
p1 = 1000
p2 = 1300
p3 = 1500
h = 100
f = 500
w = 2 *pi * f
k2 = w / c2
i = complex( real = 0, imaginary = 1 )
th1 = ( 0:89 )
th1 = th1 * pi / 180
th2 = asin( pmin(pmax((c2 / c1) * sin (th1),-1.0),1.0) )
th3 = asin(pmin(pmax(( c3 / c2) * sin (th2),-1.0),1.0) )
R12 = (p2 * c2 * cos(th1) - p1 * c1 * cos(th2) ) / (p2 * c2 * cos(th1) + p1 * c1 * cos (th2))
R23 = (p3 * c3 * cos(th2) - p2 * c2 * cos(th3)) / (p3 * c3 * cos(th2) + p2 * c2 * cos (th3))
phi2 = k2 * h * cos(th2)
R13 = (R12 + R23 * exp(2 * i * phi2 ))/ ( 1+ R12 * R23 * exp(2 * i* phi2))
y=abs(R13)
th1=th1*180/pi
plot(th1 , y, type = "l", xlab="Angle of Incidence (Deg)", ylab="|R13|")
axis(side=1, at=seq(0, 100, by=10))
axis(side=2, at=seq(0, 1, by=0.1))我采用的情节是:

我用matlab做的,命令是t= 0:0.1:89。所以,如果我使用这个步骤0.1,我会得到一个像这样的图:

你能告诉我怎样才能让它在R中工作吗?
发布于 2020-11-10 20:59:35
在您的代码中,th1 = ( 0:89 )生成一个步长为1的序列。如果您使用th1 = seq(0,89, 0.05)更改该行,步长现在将是0.05而不是1。
https://stackoverflow.com/questions/64769241
复制相似问题