首页 > 解决方案 > Matlab:对不同大小的等距向量进行随机向量分类

问题描述

A=[0.1, 0.3, 0.8, 0.9, 1]; % generated by random numbers, these are representative values. A can take any value.
B=0:1/10:1; % 10 divisions to divide line element

A 始终是随机产生的向量,B 是固定向量。A 的值将与 B 的值进行比较。将修改 A,如果值属于 B 的类,则将其保留在该类中,否则分配零。

预期的输出是

A=[0.1,0,0.3,0, 0, 0, 0, 0.8,0.9,1.0]; % Size of A increases here.

标签: matlabrangeclassificationhistogrammember

解决方案


我想你想要

result = B.*ismembertol(B,A,1e-6);

这使 的条目与 的B某些条目非常接近A,并使其余的为零。

请注意,我说“非常接近”(并使用ismembertol)而不是“等于”(对应于ismember),否则您可能会因为数值精度而得到假阴性。该参数1e-6是一个相对容差,您应该根据自己的需要进行选择。


推荐阅读