要用到以下方程式.0=(1/(1+x)1次方)*C1+(1/(1+x)2次方)*C2+(1/(1+x)3次方)*C3...+(1/(1+x)n次方)*Cn在输入C1至Cn后,怎么计算出X的值..急用.请各位大虾帮帮忙...谢谢..

解决方案 »

  1.   

    如果你的算式没有问题的话,
       应该整理后是这样
          0=C1*(1+x)n-1次方+C2**(1+x)n-2次方+.....+Cn***(1+x)0次方
       那么这个在高数中好像有算法,我忘了
      

  2.   

    //在输入C1至Cn后,怎么计算出X的值..急用.请各位大虾帮帮忙...谢谢..输入C1至Cn后,就变成了表达式计算
    关于表达式计算,看这个帖子:
    http://community.csdn.net/Expert/topic/3231/3231596.xml?temp=.699917
      

  3.   

    下班了 给你个思路自己算'dScale 精度,如果满足精度要求则返回结果退出
    Function Test(dScale As Double, ParamArray p() As Variant) As Double
        Dim sExpression As String
        Dim i As Long
        Dim pEx As New RegExp
        
        '生成表达式
        sExpression = "0"
        For i = 0 To UBound(p)
            sExpression = sExpression & "+1/(1+x)^" & (i + 1)
        Next
        
        '取两点的值判断曲线方向 (0,y1) (1,y2)
        '比较y1,y2的值,以及y1,y2大于零还是小于零来判断曲线和x轴交点在哪边
        
        
        '找到一个区域让y'*y''<0
        '则交点在[x',x'']中
        
        
        '利用逼近方法算出交点
        
    End Function
      

  4.   

    For i = 0 To UBound(p)
            sExpression = sExpression & "+(1/(1+x)^" & (i + 1) & ")*" & p(i)
        Next
      

  5.   

    C1*y^(n-1)+C2*y^(n-2)+.....+Cn-1*y + Cn= 0
     x=y-1