24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1817  |  回复: 5
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

疾风掠影

木虫 (正式写手)

[求助] matlab计算结果和excel完全不一样已有2人参与

请教各位:
我有一段程序通过matlab计算出的结果和用Excel中VB计算的结果完全不一样,跪求指导。。。。。(已经确定是程序中这段的问题,实在找不出2者的区别)
两种语言中中Ndata=n,  inpt(i)= sh.Cells(i + 1, 4)
matlab程序如下:
for i=1:Ndata
    if h1>a(9)
        q2=a(3).*(h1-a(9));
        q1=a(2).*(h1-a(8));
    elseif h1>=a(8) && h1<=a(9)
        q2=0;
        q1=a(2).*(h1-a(8));
    else
        q1=0;
        q2=0;
    end
    q3=a(4).*h1;
    if h2>a(10)
        q4=a(5).*(h2-a(10));
    else
        q4=0;
    end
    q5=a(6).*h2;
    q6=a(7).*h3;
    h1=h1+inpt(i)-q1-q2-q3;
    h2=h2+q3-q4-q5;
    h3=h3+q5-q6;
    if h1<0
        h1=0;
    end
    if h2<0
        h2=0;
    end
    if h3<0
        h3=0;
    end
  h3
end

VB如下:
   For i = 1 To n
    If h1 > a(9) Then
        q2 = a(3) * (h1 - a(9))
        q1 = a(2) * (h1 - a(8))
    ElseIf h1 >= a(8) & h1 <= a(9) Then
        q2 = 0#
        q1 = a(2) * (h1 - a(8))
    Else
        q1 = 0#
        q2 = 0#
    End If
    q3 = a(4) * h1
    If h2 > a(10) Then
    q4 = a(5) * (h2 - a(10))
    Else
    q4 = 0#
    End If
    q5 = a(6) * h2
    q6 = a(7) * h3
    h1 = h1 + sh.Cells(i + 1, 4) - q1 - q2 - q3
    h2 = h2 + q3 - q4 - q5
    h3 = h3 + q5 - q6
    If h1 < 0 Then
        h1 = 0#
    End If
    If h2 < 0 Then
        h2 = 0#
    End If
    If h3 < 0 Then
    h3 = 0#
    End If
Next i
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

信彼南山

木虫 (著名写手)

我觉得代码应该一样的
没有具体的参数设置看不出来更详细的了
4楼2014-01-24 04:47:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 6 个回答

baor8207

铁杆木虫 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
疾风掠影: 金币+10, ★★★很有帮助, 应该是计算精度的问题,我都用matlab算得了 2014-03-17 11:10:45
如果程序没有问题,建议你排除两个软件计算精度的影响
2楼2014-01-23 15:29:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

myth猪猪

金虫 (正式写手)

我不太懂楼主的程序 但是我也经常遇到其他软件和office的结果不同的情况 现在用R语言和excel求解一组方程 查的不是一丁半点
3楼2014-01-24 04:25:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cobrasq

金虫 (小有名气)

【答案】应助回帖

在VB程序中的那个elseIf语句中不应该用&符号,而是应该用And关键词
5楼2014-01-31 11:22:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见