matlab - 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.
解决方案
我想你想要
result = B.*ismembertol(B,A,1e-6);
这使 的条目与 的B
某些条目非常接近A
,并使其余的为零。
请注意,我说“非常接近”(并使用ismembertol
)而不是“等于”(对应于ismember
),否则您可能会因为数值精度而得到假阴性。该参数1e-6
是一个相对容差,您应该根据自己的需要进行选择。
推荐阅读
- r - R:叠加时间序列
- algorithmic-trading - 如何判断 3 条移动平均线何时在 4 根蜡烛或更少的时间内交叉
- c# - 禁止基类属性验证以支持派生类覆盖的属性验证
- grep - grep:管道进入 grep -r 无法正常工作
- bash - 删除分支时在 gitlab 上运行管道
- ios - 目标 c 启动画面和首屏之间的黑屏
- node.js - 在 npm 安装期间“无法读取未定义的属性‘匹配’”,但修复它只能工作一次
- java - Spring Boot 将特定参数移交给另一个 api
- python - Discord.py - 从服务器复制角色(名称和颜色)
- azure - Azure 函数可以与 Azure 应用程序网关通信吗?