hi all,
I would like to normalize values in a 18x17 matrix to have values between -1 and 1.
I would also like to be able to say that 0 = 76 mm, -1 = 71 mm, 1 = 81 mm for example instead of just using the min and max values in the array.
Any help would be greatly appreciated!

1 件のコメント

dpb
dpb 2019 年 10 月 16 日
You can't do both unless the min/max are <= the chosen min/max.
NB: if you do choose the above three points the scaling between negative and positive results will be skewed by a significant amount -- double, in fact.
But, it's simply solving for the linear coefficients between the two...or you could use interp1

サインインしてコメントする。

 採用された回答

Kaashyap Pappu
Kaashyap Pappu 2019 年 10 月 21 日

0 投票

The code below can help perform matrix normalization where you have to specify the appropriate -1, 0 and 1 values in variables "pointZero", "pointPositive" and "pointNegative". Any value lower than -1 is set to -1 and any value greater than one is set to 1.
Assuming "a" is your matrix,
a = (a - pointZero)/(pointPositive-pointNegative);
a(a<-1)=-1;
a(a>1)=1;
Note that the points raised by dpb are valid and could affect the properties of the values in the matrix.
Hope this helps!

その他の回答 (0 件)

カテゴリ

質問済み:

2019 年 10 月 16 日

回答済み:

2019 年 10 月 21 日

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by