Normalize unit vector to single didgit integers
4 次查看(过去 30 天)
显示 更早的评论
I am trying to normalize a vector to integers. For example, I would like [ .4 .-4 .8] to be [ 1 -1 2]. However, if it is not a perfect for example, [.123 .123 .5] would be [123 123 500] but I would like it to be rounded to a single didgit integer. I.E instead of [123 123 500] it would be [1 1 5].
Ive seen v=x/norm(x) but this does not work even for obvious cases.
0 个评论
回答(2 个)
the cyclist
2021-9-15
Does the following do what you want?
f = @(t) round(t/abs(min(t)));
f([ 0.4 -0.4 0.8])
f([ 0.123 0.123 .5])
It gives a different result for your second example, but I think it is a better normalization because it is closer to the original ratio.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!