当它应该只有 1 时,输出总是两个值。
s 是一个结构,其中
1x1024 struct array with fields:
ID
s1
s2
s3
s4
PB1
PB2
PB3
PB4
eG
next
我有以下循环:
for t=1:length(s)
if s(t).eG==0
if s(t).s1==1
if s(t).PB1==0
slackp(t)=0;
elseif s(t).PB1==1
slackp(t)=350;
elseif s(t).PB1==2
slackp(t)=600;
elseif s(t).PB1==3
slackp(t)=750;
end
end
if s(t).s2==1
if s(t).PB2==0
slackp2(t)=0;
elseif s(t).PB2==1
slackp2(t)=500;
elseif s(t).PB2==2
slackp2(t)=620;
elseif s(t).PB2==3
slackp2(t)=785;
end
end
end
end
但是我注意到在 t=2 的以下语句中
elseif s(t).PB1==1
slackp(t)=350;
它总是打印
slackp(1)=[0 350]
错误结转,其他多个条目旁边有 0 !!为什么会这样?我只是想存储 350,我不想要 0 !
我尝试调试问题,并意识到只要 s1 不 =1,它就会打印一个 0。它不应该。如果 s1 不是1
,那么只需跳过 IF 语句。s2也是如此。