| 发表于:2007-02-23 13:26:09 楼主 |
public sub iapcir(byval x() as double, _ byval y() as double, _ byval n as integer, _ byref a() as double, _ byval m as integer, _ byref rdblaveragex as double, _ byref dt() as double) dim i as integer, j as integer, k as integer dim z as double, p as double, c as double, g as double, q as double, d1 as double, d2 as double dim s(19) as double, t(19) as double, b(19) as double for i = 0 to m - 1 a(i) = 0 '问题, "其他信息: 未将对象引用设置到对象的实例 " next i if m > n then m = n if m > 20 then m = 20 z = 0.0# for i = 0 to n - 1 rdblaveragex = rdblaveragex + x(i) z = z + x(i) / (1.0# * n) next i rdblaveragex = rdblaveragex / n b(0) = 1.0 d1 = 1.0 * n p = 0.0 c = 0.0 for i = 0 to n - 1 p = p + (x(i) - z) c = c + y(i) next i c = c / d1 p = p / d1 a(0) = c * b(0) if m > 1 then t(1) = 1.0# t(0) = (-1) * p d2 = 0.0# c = 0.0# g = 0.0# for i = 0 to n - 1 q = x(i) - z - p d2 = d2 + q * q c = c + y(i) * q g = g + (x(i) - z) * q * q next i c = c / d2 p = g / d2 q = d2 / d1 d1 = d2 a(1) = c * t(1) a(0) = c * t(0) + a(0) end if for j = 2 to m - 1 s(j) = t(j - 1) s(j - 1) = (-1) * p * t(j - 1) + t(j - 2) if j > = 3 then for k = j - 2 to 1 step -1 s(k) = (-1) * p * t(k) + t(k - 1) - q * b(k) next k end if s(0) = (-1) * p * t(0) - q * b(0) d2 = 0.0# c = 0.0# g = 0.0# for i = 0 to n - 1 q = s(j) for k = j - 1 to 0 step -1 q = q * (x(i) - z) + s(k) next k d2 = d2 + q * q c = c + y(i) * q g = g + (x(i) - z) * q * q next i c = c / d2 p = g / d2 q = d2 / d1 d1 = d2 a(j) = c * s(j) t(j) = s(j) for k = j - 1 to 0 step -1 a(k) = c * s(k) + a(k) b(k) = t(k) t(k) = s(k) next k next j dt(0) = 0.0# dt(1) = 0.0# dt(2) = 0.0# for i = 0 to n - 1 q = a(m - 1) for k = m - 2 to 0 step -1 q = a(k) + q * (x(i) - z) next k p = q - y(i) if abs(p) > dt(2) then dt(2) = abs(p) end if dt(0) = dt(0) + p * p dt(1) = dt(1) + abs(p) next i end sub end module 此程序在vb6.0中正常运行,但在vb.net中就 "提示其他信息: 未将对象引用设置到对象的实例 " 要如何改呢? 拜托各位高手了!! |
|
|
|
|