跳过一步的向量

时间:2014-12-16 23:19:21

标签: matlab vector

我想创建一个没有数字1的向量。

x=-10:1:10;

为避免这种情况:

for(n=0:21)
if(x(n)==1)
x(n)=[];
end
end

我该怎么办?

3 个答案:

答案 0 :(得分:10)

我会使用setdiff

>> setdiff(-5:5,1)

ans =

    -5    -4    -3    -2    -1     0     2     3     4     5

答案 1 :(得分:7)

不是手动生成从-10到10的向量并删除值为1的条目,而是始终使用colon / :而不是在向量中包含1。类似的东西:

x = [-10:0 2:10];

因为它是如此小的向量,所以与完全生成向量并根据David的建议删除一个条目相比,你可能不会通过这种方式获得太多收益。我同意大卫的观点。学习逻辑索引!它是快速制作任何MATLAB代码的主干之一。

答案 2 :(得分:0)

您可以尝试手动将其设置为" &#34 ;. 例如x(10)= [];