Could anyone help me to get the sum of an array to a fixed value
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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 comentarios
Respuestas (3)
KSSV
el 23 de Oct. de 2018
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
el 23 de Oct. de 2018
"There is no fixed logic"
OK that's easy then
A(:) = 0;
A(1) = 20;
3 comentarios
Kevin Chng
el 23 de Oct. de 2018
Editada: Kevin Chng
el 23 de Oct. de 2018
How about
A(:)=1;
A(1) = 20-sum(A(2:end));
provided number of element in A lesser than 20.
Bruno Luong
el 23 de Oct. de 2018
Editada: Bruno Luong
el 23 de Oct. de 2018
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 comentarios
Ver también
Categorías
Más información sobre Characters and Strings en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!