Please help me to modify the following program
1 view (last 30 days)
Show older comments
okay, thanks to Roger.i have got program with following constraints.
A should be a randomly created 5 x 5 matrix whose elements are all integers ranging from 0 to 7 in such a way that
1) row 1 and column 1 have equal sums,
2) row 2 has a sum of 7 and column 2 has a sum of 0,()
3) row 3 and column 3 have equal sums,
4) row 4 has a sum of 0 and column 4 has a sum of 7,
5) row 5 and column 5 have equal sums,
6) its diagonal elements are all zeros, and
7) all column and row sums are 7 or less,
A = zeros(4);
for k = 1:7
p = randperm(4); % <-- This is the source of randomness
for ix = 1:4
A(p(ix),ix) = A(p(ix),ix) + 1;
end
end
A = [A(:,1),zeros(4,1),A(:,2:4)]; % Insert a column of four zeros
A = [A(1:3,:);zeros(1,5);A(4,:)]; % Insert a row of five zeros
A(1,1) = 0; A(3,3) = 0; A(5,5) = 0; % Set non-zero diagonal elements to 0
now, i want that this kind of program should take input in command window as-
1. Enter n = (in above case, we had n=5, we got 5*5 matrix)
2. Enter d= ()(in upper case, we have d=7)
3. enter S(source node)= (in upper case, we have S=2 and so, constraint should be row 2(S) has a sum of 7(d) and column 2(S) has a sum of 0 )
4. enter T(termination node)= (in upper case, we have T=4 and constraint- row 4(T) has a sum of 0 and column 4(T) has a sum of 7(d))
5.Each matrix element should be integer in range o to d.
6. All the other corresponding rows and column should should be equal.e.g. row 1 and column 1 have equal sums, row 5 and column 5 have equal sums etc.
7. diagonal elements zero.
8. all column and row sums are d or less Thank You
0 Comments
Accepted Answer
Roger Stafford
on 21 Aug 2014
[~,p] = sort(rand(n-1,d));
A = accumarray([reshape(p+(p>=T),[],1),repmat([1:S-1,S+1:n]',d,1)],1,[n,n]);
A(1:n+1:n^2) = 0;
0 Comments
More Answers (1)
Image Analyst
on 21 Aug 2014
You can get all of that user input in one dialog box. Just put your prompts into inputdlg(). See the examples in the help and let us know if you can't figure out how to ask your questions/prompts or how to get the output from inputdlg().
0 Comments
See Also
Categories
Find more on Creating and Concatenating Matrices in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!