登录论坛

查看完整版本 : [求助]程序小问题!?


hippo613
2008-11-01, 15:41
y=chebyshev(4,0.6123,1000);
n=0;
for i=1:1000
if 1>y(i)>0
n=n+1;
end
end
我用函数产生了y值1000个,对于其中大于0小于1的数统计个数,这上面的命令有错吗?

sxf57
2008-11-01, 20:33
y=chebyshev(4,0.6123,1000);这句有问题,你这句的目的本人不清楚;
另外
将if 1>y(i)>0
改为
y(i)<1&y(i)>0
即可

hippo613
2008-11-02, 10:15
谢谢,问题已解决!chebyshev是我自己定义的一个函数,呵呵!
顺便问下,这里面用&&还是&好点?有什么区别?

sxf57
2008-11-02, 21:47
用&,表示逻辑与;不能用&&,这个是c中的与。完毕

remnant
2008-11-03, 13:48
在Matlab中尽量不要用loop,执行效率很低下。
可以这么完成:
y_idx = find( y > 0 && y < 1 );
n = length( y_idx );

hippo613
2008-11-03, 23:27
谢谢。我用你的方法试了,可是不行。请问下,&&和&分别用在什么情况下!