零标准化矢量场

时间:2015-07-02 10:59:42

标签: matlab vector

我有一个我想要规范化的矢量场,例如

v1 = (1,1)
v2 = (1,2)
v3 = (1,3)
v4 = (1,4)

他们的规范在哪里

1,414   
2,236
3,162
4,123

我打算将它们标准化为[0,1]范围。

https://en.wikipedia.org/wiki/Feature_scaling

我已经在向量的每个组件中使用了它,它不起作用!

a = [1 1;1 1]; b = [1 2; 3 4]; % x & y components
v = zeros(2,2,2);
v(:,:,1) = a;
v(:,:,2) = b; % 2x2x2 matrix
vn = sqrt(v(:,:,1).^2+v(:,:,2).^2); % norm of the 4 vectors
vnmin = min(min(vn)); % minimum length
vnmax = max(max(vn)); % maximum length
v = v-vnmin;
v = v/(vnmax-vnmin); % apply feature scaling 

问候:)

1 个答案:

答案 0 :(得分:0)

你的问题来自于你在缩放时没有使用rigth值的事实,你应该这样做

vn = vn-vnmin;
vn = vn/(vnmax-vnmin); % applying feature scaling