m0_59934245 2022-04-21 23:04 采纳率: 60%
浏览 26
已结题

无法实现循环的最终数值确定

这是我需要编写的流程图

img


以下是我基于数据自行的编程
g6 = g4(:,1);
for i=1:1886
if g6(i,:)<= g5(1,3)
i=i+1;
else if g6(i,:)> g5(1,3)&g6(i+1,:)<= g5(1,3)&g(i+2,:)<g(i,:)
i=i+1;
else if g6(i,:)> g5(1,3)&g6(i+1,:)>g5(1,3)&g(i,:)<=g5(1,3)&mean(g6)<=g5(1,2)
i=i+1;
if g(i,:)<=g5(1,1)
i=i+1;
else g6(i,:)=1;
end
else g6(i,:)=0;
end
end
end
end
因为不知道怎样判别是否大于三行数据那个条件直接略去了,但是这个编程还是无法运行,我是把列单独先提取了一列出来先运行试试,但是还是无法实现。
报错是:位置 1 的索引超出数组范围(不能超过 1885)。

出错
else if g6(i,:)> g5(1,3)&g6(i+1,:)<= g5(1,3)&g(i+2,:)<g(i,:)

  • 写回答

1条回答 默认 最新

  • A-Chin 2022-04-21 23:53
    关注

    else if g6(i,:)> g5(1,3)&g6(i+1,:)<= g5(1,3)&g(i+2,:)<g(i,:)
    这里面g(i+2,:),i+2可能大于1886
    可以先看看g6,g5,和g的length

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 4月30日
  • 已采纳回答 4月22日
  • 创建了问题 4月21日