登录论坛

查看完整版本 : [求助]一个很简单的问题,可是就是不知道问题出在哪儿?


pikky
2008-11-13, 15:36
for i=1:200,
a=7.5e-9;
if x(i)==a
n(1)=x(i);
end
end
这样,我得到了正确的n(1)值


但是我这样写:
for i=1:200,
b=(5+2.5)*1e-9;
if x(i)==b
n(2)=x(i);
end
end
却告诉我n(2)没有赋值。为什么啊???头大死了,怎么都搞不定。

meteora1005
2008-11-13, 15:54
应该先对n初始化一下,比如:n=ones(2,1);

pikky
2008-11-13, 16:14
谢谢你的回复。
不过我初始化后结果还是不对。

anbcjys
2008-11-14, 07:56
x 是多少 可能没有和b相等的

laosam280
2008-11-17, 17:15
for i=1:200,
b=(5+2.5)*1e-9;
if x(i)==b
n(2)=x(i);
end
end
这个程序肯定是会报错的,循环体里的n你是怎么定义的呢?

mathjiang
2008-11-17, 18:17
除了语句书写不规范外,for i=1:200,
b=(5+2.5)*1e-9;
if x(i)==b
n(2)=x(i);
end
end
每有错哈,当然先要给x赋值。

mathjiang
2008-11-17, 18:21
试一下下述语句:
l=200;m=20; %m的值是随便赋的哈.
x=rand(1,l)
b=x(m);
for i=1:l
if x(i)==b
n(2)=x(i)
end
end
运行出来n为 2 dim 向量. 在2008a下通过哈。