注册 登录
编程论坛 VB6论坛

求解下列式子,如何在VB里实现?

sunshine8639 发布于 2016-03-28 16:47, 1849 次点击
wcao = (i * 0.0907 + j) / 100
   wtio = (i * 0.0178 + k * 0.062) / 100
   walo = (i * 0.2418 + k * 0.64) / 100
   wfeo = (i * 0.0479 + k * 0.024) / 100
   wsio = (i * 0.4449 + k * 0.178) / 100
   wso = (i * 0.09 + k * 0.031) / 100
   cm = (wcao - 0.7 * wtio) / ((0.73 * (walo - 0.64 * wfeo) + 1.4 * wfeo + 1.87 * wsio))
   P = (walo - 0.64 * wfeo) / wso
   N = (walo - 0.64 * wfeo) / wsio
 满足 0.95 <= cm <= 0.99
            3.8 <= P <= 3.82
              1 <= N <= 1.3
            i + j + k = 100
 就是i,j,k分别得百分比。
2 回复
#2
风吹过b2016-03-28 18:36
这一堆式子,我跑了一遍,没结果。

只有本站会员才能查看附件,请 登录


程序代码:
Option Explicit

Private Sub Command1_Click()

Dim i As Long, j As Long, k As Long

Dim wcao As Double, wtio As Double, walo As Double, wfeo As Double
Dim wsio As Double, wso As Double, cm As Double, P As Double, N As Double

Dim s As String

For i = 1 To 97
    For j = 1 To 99 - i
        k = 100 - i - j
        wcao = (i * 0.0907 + j) / 100
        wtio = (i * 0.0178 + k * 0.062) / 100
        walo = (i * 0.2418 + k * 0.64) / 100
        wfeo = (i * 0.0479 + k * 0.024) / 100
        wsio = (i * 0.4449 + k * 0.178) / 100
        wso = (i * 0.09 + k * 0.031) / 100
        cm = (wcao - 0.7 * wtio) / ((0.73 * (walo - 0.64 * wfeo) + 1.4 * wfeo + 1.87 * wsio))
        P = (walo - 0.64 * wfeo) / wso
        N = (walo - 0.64 * wfeo) / wsio
   
'满足 0.95 <= cm <= 0.99
'
3.8 <= P <= 3.82
'
1 <= N <= 1.3
   
        'If cm >= 0.95 And cm <= 0.99 And P >= 3.8 And P <= 3.82 And N >= 1 And N <= 1.3 Then
            s = s & "i=" & i & "  j=" & j & "  k=" & k & "  cm=" & Format(cm, "0.000") & "  P=" & Format(P, "0.000") & "  N=" & Format(N, "0.000") & vbCrLf
        'End If
    Next j
Next i

'Text1.Text = s

Open "d:\2.txt" For Output As #1
    Print #1, s
Close #1

End Sub
#3
sunshine86392016-03-28 20:20
回复 2楼 风吹过b
感谢,感谢。只是居然是没有结果,我再回去看看是不是哪里错了。再次感谢
1