DP_ChenPeng 2022-12-28 17:13 采纳率: 100%
浏览 17
已结题

matlab使用for、if嵌套,为什么没有触发if判断

load("traj.mat")

%pdp 1st bond(11.718,-3.7
%gdd 1st bond(6.86095,-3.8022)
%- pdp start(11.7233,-2.01054) end(10.0294,-3.70723)
%- gdd start(6.86115,-1.93593) end(5.16475,-4.26694)


pdpid_length = length(pdp_xcmd);
for idxi = 1 : pdpid_length
    if pdp_xcmd(idxi)==11.7233 && pdp_zcmd(idxi)==-2.0105
            pdpstart = idxi;
    elseif pdp_xcmd(idxi)==10.0294 && pdp_zcmd(idxi)==-3.7072
            pdpend = idxi;
    end
end

mat文件中有两个向量(pdp_xcmd和pdp_zcmd),已知pdp start点(pdp_xcmd,pdp_zcmd)在向量中是相同的索引;
遇到的问题,为什么for循环中没有进入到if判断

  • 写回答

2条回答 默认 最新

  • DP_ChenPeng 2023-05-29 18:11
    关注

    最后在判断的时候把数据都精确到小数点后四位就可以了,原因是实际的数据小数点后16位但matlab画图的点只显示了后4位,导致用的判断条件不对

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 6月6日
  • 已采纳回答 5月29日
  • 创建了问题 12月28日