How to normalize a vector considering both maximum and the sum of values?
조회 수: 3 (최근 30일)
이전 댓글 표시
For instance; I have a vector
A=[
7782
7761
7707
7832
8154
8442
8690
9151
9318
9300 ];
The maximum is 9300 and the sum is 84137. Now I need to normalize this vector so that I get the same shape pattern for a new maximum (say 9900) and new sum (say 8700).
댓글 수: 0
답변 (2개)
Kaashyap Pappu
2019년 12월 23일
You can use the normalize function with the ‘range’ method to preserve the shape of your normalized plot. This will consider values in the range [a,b] where a is the minimum value and b is the maximum value. The other methods could also be used as needed.
Hope this helps!
댓글 수: 0
Andrei Bobrov
2019년 12월 23일
Please run follow m - file:
SN = 8700;
Nmx = 9900;
nmn = fzero(@(x)func1(x,Nmx,SN,A),-10000);
[~,N] = func1(nmn,Nmx,SN,A);
function [dt,N] = func1(Nmn,Nmx,SN,A)
mn = min(A);
N = (Nmx - Nmn)/(max(A) - mn)*(A - mn) + Nmn;
dt = sum(N) - SN;
end
Here N - your output vector.
댓글 수: 2
Andrei Bobrov
2019년 12월 24일
편집: Andrei Bobrov
2019년 12월 24일
subplot(2,1,1)
plot(A,'g-')
subplot(2,1,2)
plot(N,'r-')
참고 항목
카테고리
Help Center 및 File Exchange에서 Subplots에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!