求大佬帮忙 VB程序中出现 “运行时错误‘5’:无效的过程的调用或参数”,

QQ_12332_1_ 2019-11-05 10:32:38
我输入数据运行程序时,程序提示上面这个错误,通过查找找到
a2 = W12(3) * w1 + W12(4) * w2 + W12(5) * w3 + B1(1)
这是我的一个中间式子,里面都是数组和变量,发现我输的数据得出f值刚好是0,而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)
'a5 = W12(12) * w1 + W12(13) * w2 + W12(14) * w3 + B1(4) '


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)) '
'%a15 = W23(4)*logsig(a5)';%输出层到隐层

a = a11 + a12 + a13 + a14 + B2 ';%汇总起来

'w4 = a '(a) ' %输出含水率值
Text4.Text = a

End Sub
...全文
482 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
QQ_12332_1_ 2019-12-03
  • 打赏
  • 举报
回复
谢谢,我这就回去调试一下
lunweiliang 2019-12-01
  • 打赏
  • 举报
回复
计算公式要加保护,比如,a2 =val( W12(3) * w1) +val( W12(4) * w2 )+ val(W12(5) * w3) +val( B1(1) ),当然可以每个变量加val

7,763

社区成员

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

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