Could anyone help me to get the sum of an array to a fixed value
조회 수: 2 (최근 30일)
이전 댓글 표시
A=[1 2 3 4;
5 6 7 8]
how to get the sum of A to be fixed to a
value of 20 such that all the values in A needs
to be changed according to it.
댓글 수: 3
답변 (3개)
KSSV
2018년 10월 23일
A=[1 2 3 4;
5 6 7 8] ;
A = A(:) ;
iwant = cell([],1) ;
count = 0 ;
for i = 1:length(A)
B = nchoosek(A,i) ;
thesum = sum(B,2) ;
idx = thesum==20 ;
if any(idx)
count = count+1 ;
iwant{count} = B(idx,:) ;
end
end
iwant
Bruno Luong
2018년 10월 23일
"There is no fixed logic"
OK that's easy then
A(:) = 0;
A(1) = 20;
댓글 수: 3
Kevin Chng
2018년 10월 23일
편집: Kevin Chng
2018년 10월 23일
How about
A(:)=1;
A(1) = 20-sum(A(2:end));
provided number of element in A lesser than 20.
Bruno Luong
2018년 10월 23일
편집: Bruno Luong
2018년 10월 23일
Let's be more serious you can do many thing like shifting
A = A - sum(A) + 20/size(A,1);
or scaling
A = 20 * A ./ sum(A);
or both
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Characters and Strings에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!