⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wdx.txt

📁 某大学开发的一个用于对微波传输线状态进行模拟的软件
💻 TXT
字号:
VERSION 5.00
'微带线-无色散效应
Private Sub cmdOK_Click()
Dim pi As Double
pi = 4 * Atn(1)

If Frame2.Visible = True Then
Text5.Text = "?"
Dim w, h, t, er, ZO, ef, bz As Double
w = Text1.Text
h = Text2.Text
t = Text3.Text
er = Text4.Text
If w <= 0 Or h <= 0 Or er <= 0 Then
  MsgBox "输入参数无效!请重新输入!"
 Else
bz = w / h
If bz < 1 Then
ef = (er + 1) / 2 + ((er - 1) / 2) * (1 / Sqr(1 + 12 * h / w) + 0.04 * (1 - w / h) ^ 2)
ZO = (60 / Sqr(ef)) * Log(8 * h / w + 0.25 * w / h)
Else
ef = (er + 1) / 2 + ((er - 1) / 2) * (1 / Sqr(1 + 12 * h / w))
ZO = (120 * pi) / ((Sqr(ef)) * (w / h + 1.393 + 0.667 * Log(w / h + 1.444)))
End If
Text5.Text = ZO
End If
End If

If Frame3.Visible = True Then
Text9.Text = "?"
Dim zo1, er1, t1, wh1, a, b As Double
zo1 = Text6.Text
er1 = Text7.Text
t1 = Text8.Text
If zo1 <= 0 Or er1 <= 0 Then
  MsgBox "输入参数无效!请重新输入!"
 Else
a = (zo1 / 60) * Sqr((er1 + 1) / 2) + ((er1 - 1) / (er1 + 1)) * (0.23 + 0.11 / er1)
If a > 1.52 Then
wh1 = 8 * Exp(a) / (Exp(2 * a) - 2)
Else
b = 60 * pi ^ 2 / (zo1 * Sqr(er1))
wh1 = (2 / pi) * (b - 1 - Log(2 * b - 1) + ((er1 - 1) / (2 * er1)) * (Log(b - 1) + 0.39 - 0.61 / er1))
End If
Text9.Text = wh1
End If
End If

If Frame4.Visible = True Then
Text15.Text = "?"
Text16.Text = "?"
Text17.Text = "?"
Dim wh, sh, t2, er2, zo2, zse, zso, g, g1, f, f1, ke, ko1, ko2, whse, whso, temp As Double
temp = Text11.Text
If temp <= 0 Then
 MsgBox "输入参数无效!请重新输入!"
 Else
wh = Text10.Text / temp
sh = Text12.Text / temp
er2 = Text14.Text
t2 = Text13.Text
If wh <= 0 Or sh <= 0 Or er2 <= 0 Then
 MsgBox "输入参数无效!请重新输入!"
 Else
g1 = pi * sh / 2
f1 = pi * wh + pi * sh / 2
g = (Exp(g1) + 1 / Exp(g1)) / 2
f = (Exp(f1) + 1 / Exp(f1)) / 2
ke = (2 * f - g + 1) / (g + 1)
ko1 = (2 * f - g - 1) / (g - 1)
ko2 = 1 + 2 * wh / sh
whse = 2 * Log(ke + Sqr(ke ^ 2 - 1)) / pi
If er2 < 6 Then
whso = 2 * Log(ko1 + Sqr(ko1 ^ 2 - 1)) / pi + (4 / (pi * (1 + er2 / 2))) * Log(ko1 + Sqr(ko1 ^ 2 - 1))
Else
whso = 2 * Log(ko2 + Sqr(ko2 ^ 2 - 1)) / pi + Log(ko2 + Sqr(ko2 ^ 2 - 1)) / pi
End If
If whse > 2 Then
zse = (119.9 * pi / (2 * Sqr(er2))) / (whse / 2 + Log(4) / pi + (Log(Exp(1) * pi ^ 2 / 16) * (er2 - 1)) / (2 * pi * er2 ^ 2) + ((er2 + 1) / (2 * pi * er2)) * (Log(pi * Exp(1) / 2) + Log(0.5 * whse + 0.94)))
Else
zse = (119.9 * pi / Sqr(2 * (er2 + 1))) * (Log(8 / whse) + whse ^ 2 / 32 - ((er2 - 1) / (2 * (er2 + 1))) * (Log(pi / 2) + Log(4 / pi) / er2))
End If
If whso > 2 Then
zso = (119.9 * pi / (2 * Sqr(er2))) / (whso / 2 + Log(4) / pi + (Log(Exp(1) * pi ^ 2 / 16) * (er2 - 1)) / (2 * pi * er2 ^ 2) + ((er2 + 1) / (2 * pi * er2)) * (Log(pi * Exp(1) / 2) + Log(0.5 * whso + 0.94)))
Else
zso = (119.9 * pi / Sqr(2 * (er2 + 1))) * (Log(8 / whso) + whso ^ 2 / 32 - ((er2 - 1) / (2 * (er2 + 1))) * (Log(pi / 2) + Log(4 / pi) / er2))
End If
zo2 = Sqr(zse ^ 2 + zso ^ 2)
Text15.Text = zse
Text16.Text = zso
Text17.Text = zo2
End If
End If
End If
End Sub
VERSION 5.00
'微带线-有色散效应
Private Sub cmdOK_Click()
Dim pi As Double
pi = 4 * Atn(1)

If Frame2.Visible = True Then
Text5.Text = "?"
Dim w, h, t, er, ZO, ef, bz, fo, g2, fp, zot, th As Double
w = Text1.Text
h = Text2.Text
t = Text3.Text
er = Text4.Text
fo = Text18.Text
If w <= 0 Or h <= 0 Or er <= 0 Or fo <= 0 Then
  MsgBox "输入参数无效!请重新输入!"
 Else
bz = w / h
If bz < 1 Then
ef = (er + 1) / 2 + ((er - 1) / 2) * (1 / Sqr(1 + 12 * h / w) + 0.04 * (1 - w / h) ^ 2)
ZO = (60 / Sqr(ef)) * Log(8 * h / w + 0.25 * w / h)
Else
ef = (er + 1) / 2 + ((er - 1) / 2) * (1 / Sqr(1 + 12 * h / w))
ZO = (120 * pi) / ((Sqr(ef)) * (w / h + 1.393 + 0.667 * Log(w / h + 1.444)))
End If
fp = 0.397764 * ZO / h
g2 = Sqr((ZO - 5) / 60) + 0.004 * ZO
th = (Exp(pi * w / (4 * h)) - 1 / (Exp(pi * w / (4 * h)))) / _
(Exp(pi * w / (4 * h)) + 1 / (Exp(pi * w / (4 * h))))
If w / h > 1.1 Then
zot = 30 * pi * pi / (Sqr(er) * Log(2 * ((1 + Sqr(th)) / (1 - Sqr(th)))))
Else
zot = 30 * Log(2 * ((1 + Sqr(1 - th)) / (1 - Sqr(1 - th))))
End If
ZO = zot - (zot - ZO) / (1 + g2 * (fo / fp) ^ 2)
Text5.Text = ZO
End If
End If

If Frame4.Visible = True Then
Text15.Text = "?"
Text16.Text = "?"
Text17.Text = "?"
Dim w1, s, wh, sh, t2, er2, zo2, zse, zso, g, g1, f, f1, ke, ko1, ko2 As Double
Dim whse, whso, temp, fo1, fpe, fpo, je, jo, th1, th2, le, lo, le1, lo1, zoe, zoo As Double
temp = Text11.Text
If temp <= 0 Then
 MsgBox "输入参数无效!请重新输入!"
 Else
 w1 = Text10.Text
 s = Text12.Text
wh = w1 / temp
sh = s / temp
er2 = Text14.Text
fo1 = Text13.Text
If wh <= 0 Or sh <= 0 Or er2 <= 0 Then
 MsgBox "输入参数无效!请重新输入!"
 Else
g1 = pi * sh / 2
f1 = pi * wh + pi * sh / 2
g = (Exp(g1) + 1 / Exp(g1)) / 2
f = (Exp(f1) + 1 / Exp(f1)) / 2
ke = (2 * f - g + 1) / (g + 1)
ko1 = (2 * f - g - 1) / (g - 1)
ko2 = 1 + 2 * wh / sh
whse = 2 * Log(ke + Sqr(ke ^ 2 - 1)) / pi
If er2 < 6 Then
whso = 2 * Log(ko1 + Sqr(ko1 ^ 2 - 1)) / pi + (4 / (pi * (1 + er2 / 2))) * Log(ko1 + Sqr(ko1 ^ 2 - 1))
Else
whso = 2 * Log(ko2 + Sqr(ko2 ^ 2 - 1)) / pi + Log(ko2 + Sqr(ko2 ^ 2 - 1)) / pi
End If
If whse > 2 Then
zse = (119.9 * pi / (2 * Sqr(er2))) / (whse / 2 + Log(4) / pi + (Log(Exp(1) * pi ^ 2 / 16) * (er2 - 1)) / (2 * pi * er2 ^ 2) + _
((er2 + 1) / (2 * pi * er2)) * (Log(pi * Exp(1) / 2) + Log(0.5 * whse + 0.94)))
Else
zse = (119.9 * pi / Sqr(2 * (er2 + 1))) * (Log(8 / whse) + whse ^ 2 / 32 - ((er2 - 1) / (2 * (er2 + 1))) * (Log(pi / 2) + Log(4 / pi) / er2))
End If
If whso > 2 Then
zso = (119.9 * pi / (2 * Sqr(er2))) / (whso / 2 + Log(4) / pi + (Log(Exp(1) * pi ^ 2 / 16) * (er2 - 1)) / (2 * pi * er2 ^ 2) + ((er2 + 1) / _
(2 * pi * er2)) * (Log(pi * Exp(1) / 2) + Log(0.5 * whso + 0.94)))
Else
zso = (119.9 * pi / Sqr(2 * (er2 + 1))) * (Log(8 / whso) + whso ^ 2 / 32 - ((er2 - 1) / (2 * (er2 + 1))) * (Log(pi / 2) + Log(4 / pi) / er2))
End If

je = 0.6 + 0.0045 * zse
jo = 0.6 + 0.018 * zoo
fpe = 0.1989 * zse / temp
fpo = 0.7955 * zso / temp
th1 = (Exp(pi * w1 / (4 * temp)) - 1 / (Exp(pi * w1 / (4 * temp)))) / (Exp(pi * w1 / (4 * temp)) + 1 / (Exp(pi * w1 / (4 * temp))))
th2 = (Exp(pi * (w1 + s) / (4 * temp)) - 1 / (Exp(pi * (w1 + s) / (4 * temp)))) / (Exp(pi * (w1 + s) / (4 * temp)) + 1 / (Exp(pi * (w1 + s) / (4 * temp))))
le = th1 * th2
le1 = Sqr(1 - le * le)
lo = th1 * (1 / th2)
lo1 = Sqr(1 - lo * lo)
If le > 0 And le < 0.7 Then
zoe = (60 * pi / Sqr(er2)) / (Log(2 * ((1 + Sqr(le1)) / (1 - Sqr(le1)))) / pi)
Else
zoe = Log(2 * ((1 + Sqr(le)) / (1 - Sqr(le)))) / pi
End If
If lo > 0 And lo < 0.7 Then
zoo = (60 * pi / Sqr(er2)) / (Log(2 * ((1 + Sqr(lo1)) / (1 - Sqr(lo1)))) / pi)
Else
zoo = Log(2 * ((1 + Sqr(lo)) / (1 - Sqr(lo)))) / pi
End If
zse = (zoe - zse) / (1 + (fo1 / fpe) ^ 1.6 * je)
zso = (zoe - zso) / (1 + (fo1 / fpo) ^ 1.6 * jo)
zo2 = Sqr(zse ^ 2 + zso ^ 2)
Text15.Text = zse
Text16.Text = zso
Text17.Text = zo2
End If
End If
End If
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -