全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
10309 15
2007-03-01

请教高手,如何用请教如何用matlab来操作malmquist指数法,具体的程序是什么?

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2007-3-2 20:48:00
你改用DEAp啊,比matlab简单啊!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-3-7 21:23:00

Sub MalmquistGetData()
    Dim Check
    Dim i As Integer, j As Integer
    Worksheets(ChosenPeriod1).Activate
   
  
    NInputs = Range("A1").CurrentRegion.Columns.Count
    NBenchmarkDMUs = Range("A1").CurrentRegion.Rows.Count
    NInputs = NInputs - 1
    NBenchmarkDMUs = NBenchmarkDMUs - 1
   
    NOutputs = Range("A1").Offset(0, NInputs + 2).CurrentRegion.Columns.Count
   
    Worksheets(ChosenPeriod2).Activate
       
   
    NNewDMUs = Range("A1").CurrentRegion.Rows.Count
    NNewDMUs = NNewDMUs - 1
   
    NDMUs = NNewDMUs
    If NNewDMUs <> NBenchmarkDMUs Then
MsgBox "You have " & NBenchmarkDMUs & " DMUs in " & ChosenPeriod1 & vbCrLf _
        & "and  " & NNewDMUs & " DMUs in " & ChosenPeriod2 & "." & vbCrLf _
        & "Please edit the Sheets.", vbCritical
        End
        End If

    ReDim EffIndex(NDMUs)
    ReDim Lambdas(NDMUs, NDMUs)
    ReDim InputSlacks(NDMUs, NInputs)
    ReDim OutputSlacks(NDMUs, NOutputs)
    ReDim InputsTarget(NDMUs, NInputs)
    ReDim OutputsTarget(NDMUs, NOutputs)
    ReDim DMUName(NDMUs)
    ReDim BenchmarkDMUName(NBenchmarkDMUs)
    ReDim NewDMUName(NNewDMUs)
    ReDim InputName(NInputs)
    ReDim InputUsed(NNewDMUs, NInputs)
    ReDim OutputName(NOutputs)
    ReDim OutputProduced(NNewDMUs, NOutputs)
    ReDim BInputs(NBenchmarkDMUs, NInputs)
    ReDim BOutputs(NBenchmarkDMUs, NOutputs)
    ReDim BenchmarkIndex(NNewDMUs)
    ReDim TempInputs(NDMUs, NInputs)
    ReDim TempOutputs(NDMUs, NOutputs)
    ReDim TempDMUName(NDMUs)
    ReDim MIndex(4, NDMUs)
    ReDim MIndex1(NDMUs)
    ReDim MIndex2(NDMUs)

   
    Worksheets(ChosenPeriod1).Activate
    With Range("A1")
    For i = 1 To NInputs
        InputName(i) = .Offset(0, i)
    Next

    For i = 1 To NOutputs
        OutputName(i) = .Offset(0, i + NInputs + 1)
    Next

    For i = 1 To NBenchmarkDMUs

        BenchmarkDMUName(i) = .Offset(i, 0)

       
        For j = 1 To NInputs
            BInputs(i, j) = .Offset(i, j)
            Check = .Offset(i, j)
       
        If Check < 0 Or Not IsNumeric(Check) Then
        MsgBox "Invalid input value is detected at" & vbCrLf _
        & j & "" & "th input of DMU" & " " & BenchmarkDMUName(i) & vbCrLf _
        & "Please edit the  " & ChosenPeriod1 & "  Sheet.", vbCritical
        .Offset(i, j).Select
        End
        End If
            
        Next

       
        For j = 1 To NOutputs
            BOutputs(i, j) = .Offset(i, j + NInputs + 1)
            Check = .Offset(i, j + NInputs + 1)
       
        If Check < 0 Or Not IsNumeric(Check) Then
        MsgBox "Invalid output value is detected at" & vbCrLf _
        & j & "" & "th output of DMU" & " " & BenchmarkDMUName(i) & vbCrLf _
        & "Please edit the " & ChosenPeriod1 & "  Sheet.", vbCritical
        .Offset(i, j + NInputs + 1).Select
        End
        End If
       
        Next
            Next
        End With

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-5-19 20:54:00

这个程序运行好象有问题啊!

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2009-5-19 20:57:00
??? Sub MalmquistGetData()
        |
Error: Missing operator, comma, or semicolon.
我是Matlab的初学者,运行上面这个程序出现这种结果,是怎么回事啊?能不能给解释下啊,非常感谢!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-1-21 10:15:11
这个程序好似是vb的程序?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

点击查看更多内容…
相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群