从向量中排除一些数据

Yus*_*sef 1 matlab

假设我有一个包含数字的向量,1..100然后我随机生成一些数字(让我们假设有五个项目和随机项目[3 5 45 66 77].然后我想从我的数据中排除这个项目.

data = [1..100]
blocklistitems=[3 5 45 66 77]
cleandata = data exclude blocklist
Run Code Online (Sandbox Code Playgroud)

如何在Matlab中从向量中排除一些数据?

Adr*_*aan 6

data = [1..100]
blocklistitems=[3 5 45 66 77]
data(blocklistitems)=[]; %// completely removes, reduces length of array
data(blocklistitems)=nan; %// sets to nan
Run Code Online (Sandbox Code Playgroud)

利用索引!

判断您的评论我认为您的数据并不像您在答案中提到的那么简单,因为在这种情况下,索引方式是迄今为止最快的.以@ Divakar的评论使用setdiff同样可以用于非连续的整数数组来实现:

C = setdiff(data,blocklistitems);
Run Code Online (Sandbox Code Playgroud)