登录论坛

查看完整版本 : [求助]为什么都等于8?


不够再添
2008-12-11, 11:05
clear
t=0:1:20
A=zeros(size(t)) %给A充零
B=zeros(size(t)) %给B充零

for i=1:1:21 %令B的元素全部等于8
B(i)=8
end

for n=1:1:21 %使得A(7)至A(12)全部等于8
if 6<n<13
A(n)=B(n)
end
end
plot(t,A) %显示图线


为什么运行后A都变成了8,而不是A(7)至A(12)变成8?请达人解答,谢谢了!

cloverose
2008-12-11, 15:23
判断条件:if 6<n<13是非法的

改为:if n>6&n<13即可

qingtian
2008-12-11, 16:17
for n=1:1:21
if 7<=n&n<=12
A(n)=B(n)
end
end
plot(t,A)

A =

Columns 1 through 12

0 0 0 0 0 0 8 8 8 8 8 8

Columns 13 through 21

8 0 0 0 0 0 0 0 0

sjzyanliang
2008-12-12, 16:20
clear
t=0:1:20;
A=zeros(size(t)); %给A充零
B=zeros(size(t)); %给B充零
B=B+8;


for t=7:12 %使得A(7)至A(12)全部等于8;
A(t)=B(t);
end
t=1:21
A
plot(t,A,'o',t,A)%显示图线