Info

Cette question est clôturée. Rouvrir pour modifier ou répondre.

creating random n*n matrix satisfying particular constraints using matlab?

1 vue (au cours des 30 derniers jours)
reshdev
reshdev le 12 Sep 2014
Clôturé : reshdev le 20 Sep 2014
Hello all,
i have following code to create n*n matrix(say n=5 this time) which is following certain constraints.
function selectingset
% n = input ('Enter Num_Nodes :');
% inputData=input ('Enter inputdata :');
n=5;
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;
end
disp(M);
end
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.

Réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by