# I want to obtain number of cases(matrix's length) . By applying same sum in any matrix. (on constraints)

4 Ansichten (letzte 30 Tage)
Brian Kim am 8 Sep. 2017
Kommentiert: Stephen23 am 13 Sep. 2017
for example,
A is here.
A=[6 7 8 9];
and,
sumA=sum(A)=30;
The element of the matrix that causes the sum to be 30 must be expressed as a value between 4 and 12.
When I calculate directly, the number of cases that can be obtained is 3,4,5,6,7.
In this way, how to create code?
##### 1 Kommentar-1 ältere Kommentare anzeigen-1 ältere Kommentare ausblenden
Stephen23 am 13 Sep. 2017

Melden Sie sich an, um zu kommentieren.

### Antworten (2)

José-Luis am 8 Sep. 2017
If what you mean is that you want the sum of a random array of four elements to be thirty with some condition placed on the last of them:
lims = [4,12];
totVal = 30;
lastElement = randi(diff(lims) + 1,1 ) + lims(1) - 1;
valueToSplit = totVal - lastElement;
frac = rand(1,3);
frac = frac ./ sum(frac);
result = [round(frac.*valueToSplit), lastElement]
sum(result)
##### 0 Kommentare-2 ältere Kommentare anzeigen-2 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

Andrei Bobrov am 8 Sep. 2017
Bearbeitet: Andrei Bobrov am 13 Sep. 2017
z = 4:12;
out = [];
for jj = 1:numel(z)
k = nchoosek(z,jj);
out = [out;num2cell(k(sum(k,2) == 30,:),2)];
end
"number of rows":
numel(out)
##### 2 KommentareKeine anzeigenKeine ausblenden
Brian Kim am 12 Sep. 2017
Bearbeitet: Andrei Bobrov am 13 Sep. 2017
i don't wanna all cases matrices. I want the number of rows I can get
José-Luis am 12 Sep. 2017
Bearbeitet: José-Luis am 13 Sep. 2017
I don't understand what you mean. Could you explain?

Melden Sie sich an, um zu kommentieren.

### Kategorien

Mehr zu 선 플롯 finden Sie in Help Center und File Exchange

### Community Treasure Hunt

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

Start Hunting!