给定向量x
,我想通过检查u0
的组件来分量创建向量x
。由于只有0 <= 0 < 1
为真,并且由于0
是x
的第一个组成部分,因此新的向量u0
实际上应该看起来像[1, 0, 0, 0, 0, 0, 0, 0]
,而是Matlab给我一个只包含0
的向量。我做错了什么?
x = [0, 1, 2, 3, 4, 5, 6, 7, 8];
u0 = [];
for i = 1:8
if (0 <= x(i) < 1)
u0(i) = 1;
else
u0(i) = 0;
end
end
答案 0 :(得分:2)
您的if条件不正确。你需要检查它。你必须像下面这样继续。
x = [0, 1, 2, 3, 4, 5, 6, 7, 8];
u0 = zeros(size(x));
for i = 1:8
if x(i) >= 0 && x(i)<1
u0(i) = 1;
else
u0(i) = 0;
end
end
此外,您可以使用以下内容在一行中获取任务:
u1 = zeros(size(x)) ;
u1(x>=0 & x<1) = 1 ;