private sub command1_click()dim s() as double, n() as doubledim lxx as double, lyy as double, lxy as double, r as doubledim i as integer, n1 as integeron error goto ern1 = 3for i = 0 to n1 - 1 redim preserve s(i) s(i) = cdbl(inputbox("请输入s(" & i + 1 & ")"))nextfor i = 0 to n1 - 1 redim preserve n(i) n(i) = cdbl(inputbox("请输入n(" & i + 1 & ")"))nextlxx = sum_logs2(s()) - sum_log(s()) ^ 2 / n1lyy = sum_logs2(n()) - sum_log(n()) ^ 2 / n1lxy = sum_s_n_log(s(), n()) - sum_log(s()) * sum_log(n()) / n1r = lxy / sqr(lxx * lyy)msgbox "r=" & format(r, "0.00000")er:end subprivate function sum_log(s() as double) as doubledim i as integer, s1 as doublefor i = lbound(s) to ubound(s) s1 = s1 + log(s(i)) / log(10)nextsum_log = s1end functionprivate function sum_logs2(s() as double) as doubledim i as integer, s1 as doublefor i = lbound(s) to ubound(s) s1 = s1 + log(s(i) ^ 2) / log(10)nextsum_log2 = s1end functionprivate function sum_s_n_log(s() as double, n() as double) as doubledim i as integer, s1 as doublefor i = lbound(s) to ubound(s) s1 = s1 + log(s(i)) * log(n(i)) / log(10) ^ 2nextsum_s_n_log = s1end function 20210311
第一个公式:ref(hhv(c,22),1)/ref(c,23)>1.5 and c/ref(hhv(c,22),1)<0.8;测试通过!第二个公式:ref(hhv(c,22),1)/ref(c,23)>1.5 and c/xs.ldn>1 and c/xs.ldn<1.05;测试通过!提示:第二个公式回调的是ldn之上一个5%的区域,这样选股会稍多一些,以便抓住更多...
在d盘创建一个txt文本文件,名字是fenshu。并在文本文件里面写入分数以英文格式的逗号“,”隔开。如87,76,46,99,100,63创建好之后就可以运行这段代码了。不过不明白的是你是要只统计59分的还是59分及以下,99分那个也是的。我下面写的是包括统计59分及以下的,如果是只统计某一个数,就和100分的那个是一样的。dim m,a(6) as integeropen "d:\f...