请教各位前辈,以下问题如何解决

QQ_12332_1_ 2019-10-29 05:01:08
具体代码如下:

VB代码

Private Sub Command1_Click()

Dim W12() '定义数组
W12 = Array(-0.12634521001675, -4.6694806914686, 0.42026116123439, 5.10867971591759, 1.51942107882065, -0.42243980916051, -1.66877957850959, -0.20468373820466, 0.3572928557475, 0.03610001145893, 4.53787321728016, -0.50977927762321) '权重"


Dim W23() '定义数组
W23 = Array(-5.89468238932569, 0.11644047624008, -3.94832907664878, -1.76229980989318) '权重

Dim B1()
B1 = Array(-5.96780654305263, -2.33430134475403, -0.773411222728292, 3.4661792485999) '阈值

Const B2 As Double = 3.21772616222852 ' %常量

Dim w1 As Single, w2 As Single, w3 As Single '定义变量 w1 w2 w3

Let w1 = Val(Text1.Text) '获取测量值
Let w2 = Val(Text2.Text) '获取比值
Let w3 = Val(Text3.Text) '获取浓度

Dim a1 As Variant, a2 As Variant, a3 As Variant, a4 As Variant, a11 As Variant, a12 As Variant, a13 As Variant, a14 As Variant '定义变量

a1 = W12(0) * w1 + W12(1) * w2 + W12(2) * w3 + B1(0)
a2 = W12(3) * w1 + W12(4) * w2 + W12(5) * w3 + B1(1)
a3 = W12(6) * w1 + W12(7) * w2 + W12(8) * w3 + B1(2)
a4 = W12(9) * w1 + W12(10) * w2 + W12(11) * w3 + B1(3)



a11 = W23(0) * 1 / (1 + e ^ (-a1)) '
a12 = W23(1) * 1 / (1 + e ^ (-a2)) '
a13 = W23(2) * 1 / (1 + e ^ (-a3)) '
a14 = W23(3) * 1 / (1 + e ^ (-a4)) '


a = a11 + a12 + a13 + a14 + B2 '


Text4.Text = a

End Sub

Private Sub Command2_Click()
Unload Me
End Sub


遇到问题如下::


光标移动到“a12”位置时,提示“a12”是空值
若是不运行"a12",直接运行“a13”“a14”也同样是空值。。

请前辈多多指教
...全文
54 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
QQ_12332_1_ 2019-10-30
  • 打赏
  • 举报
回复
恩恩,不论代码还是报错截屏都是换汤不换药。两者之间差距为是否添加一个中间变量
milaoshu1020 2019-10-29
  • 打赏
  • 举报
回复
你给出的代码和你图片里错误提示的代码不一样啊...
wujingyi2011 2019-10-29
  • 打赏
  • 举报
回复
有什么没有定义或者名称不对找不到

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧