方程一:Y= aX/[1+(a-1)X]
方程二:Y(n+1)=RXn/(1+R)+Xd/(1+R)
已知:Xd,a,R,Xq为常数。
现:用Y1=Xd,代入方程一求的X1, 再代入方程二求出Y2
再代入方程一求X2,再代入方程二求Y3,再求X3......直到 Xn<=Xq退出循环
求的n的值~~ 写出来的程序是
Private Sub Command1_Click()
Dim a As Single, R As Single, Xd As Single, Xq As Single
Dim n As Double, X() As Single, Y() As Single
Xd = 0.01: a = 3: R = 4: Xq = 0.00003
ReDim Preserve Y(1)
Y(1) = Xd
n = 0
Do
n = n + 1
If n > 10 ^ 5 Then
MsgBox "这样的n值过大,程序将崩溃,请检查常数值"
Exit Do
End If
ReDim Preserve X(n + 1)
ReDim Preserve Y(n + 1)
X(n) = Y(n) / (a - (a - 1) * Y(n))
Y(n + 1) = R * X(n) / (1 + R) + Xd / (1 + R)
Loop Until X(n) <= Xq
Print "n="; n
End Sub
如果方程一变为:Y(n)=1.34*(1-exp(-Xn/2.1))+0.49289(1-exp(-Xn/0.076))
这个程序该怎么改啊?
要不要先求它的反函数,改成Xn=F(Y)的形式啊?
这个不会解,困惑啊~
方程二:Y(n+1)=RXn/(1+R)+Xd/(1+R)
已知:Xd,a,R,Xq为常数。
现:用Y1=Xd,代入方程一求的X1, 再代入方程二求出Y2
再代入方程一求X2,再代入方程二求Y3,再求X3......直到 Xn<=Xq退出循环
求的n的值~~ 写出来的程序是
Private Sub Command1_Click()
Dim a As Single, R As Single, Xd As Single, Xq As Single
Dim n As Double, X() As Single, Y() As Single
Xd = 0.01: a = 3: R = 4: Xq = 0.00003
ReDim Preserve Y(1)
Y(1) = Xd
n = 0
Do
n = n + 1
If n > 10 ^ 5 Then
MsgBox "这样的n值过大,程序将崩溃,请检查常数值"
Exit Do
End If
ReDim Preserve X(n + 1)
ReDim Preserve Y(n + 1)
X(n) = Y(n) / (a - (a - 1) * Y(n))
Y(n + 1) = R * X(n) / (1 + R) + Xd / (1 + R)
Loop Until X(n) <= Xq
Print "n="; n
End Sub
如果方程一变为:Y(n)=1.34*(1-exp(-Xn/2.1))+0.49289(1-exp(-Xn/0.076))
这个程序该怎么改啊?
要不要先求它的反函数,改成Xn=F(Y)的形式啊?
这个不会解,困惑啊~
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货