matlab for中嵌套if的问题

2025-02-24 23:29:22
推荐回答(1个)
回答1:

1.修改一(按照你的思路):

t = [0:0.1:5];
for k = 1:length(t)
if sin(t(k)) == 0
Y(k) = 1;
elseif sin(t(k)) == 0.5
Y(k) = 0.25;
elseif sin(t(k)) == -0.5
Y(k) = 0.25;
else
Y(k) = 0;
end
end
plot(t,Y,'or','Markersize',6);

2.修改二(执行效率更高):

t = 0:0.1:5;
Y = 0 + (sin(t)==0)*1 + (sin(t)==0.5)*0.25 + (sin(t)==-0.5)*0.25;
plot(t,Y,'or','Markersize',6);