This question is closed. Reopen it to edit or answer.
creating random n*n matrix satisfying particular constraints using matlab?
1 view (last 30 days)
Show older comments
i have following code to create n*n matrix(say n=5 this time) which is following certain constraints.
% n = input ('Enter Num_Nodes :');
% inputData=input ('Enter inputdata :');
inputData=[5 1 2];
for z = 1:n
f = inputData(1,1); % f= Demand
S = inputData(1,2); % S= Source node
T = inputData(1,3); % T= Termination node
[idx,p] = sort(rand(n-1,f));
M = accumarray([reshape(p+(p>=T),,1),repmat([1:S-1,S+1:n]',f,1)],1,[n,n]);
M(1:n+1:n^2) = 0;
So, my o/p from following code is---
0 0 2 3 0
0 0 0 0 0
0 0 0 0 3
0 4 1 0 0
0 1 0 2 0
Note that as in given code
input S=1, so column 1 is zero and
As T=2, so row 2 is zero.
As f= 5, so sum of row S(i.e. S=1)=Sum of column T(i.e. T=2)= 5
and i am making diagonal elements zero.
all the remaining rows and columns, sum of row(i)=sum of column(i)
Now, How can i modify code such that row(1,3) will always come zero in output but output still follows previous mentioned constraints.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!