How to code to perform the following tasks?

6 visualizzazioni (ultimi 30 giorni)
n=1,2,3,4 or input('Enter the Number [1-4]')
npop=5;
Location=[2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
30
31
44
45
46
48
49
77
79
80
82
86
87
88
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137];
how to code to get 'Locations'= 'n' random 'Location' of column and npop rows
And also,
'Sizes' =random value for n=1, is 0-9475, n=2 is 0-4738,n=3 is 0-3156,n=4 is 0-2649 with npop rows
finaly, positions=[Locations, Sizes];
for example: n=2; Locations=[48 127
7 18
21 10
48 130
137 3];
Sizes= [678 107
78 138
2890 100
48 13
867 93];
then Finaly
Positions=[48 127 678 107
7 18 78 138
21 10 2890 100
48 130 48 13
137 3 867 93];
  2 Commenti
KSSV
KSSV il 19 Mag 2022
Question is not clear.
Assen Beshr
Assen Beshr il 19 Mag 2022
Modificato: Assen Beshr il 19 Mag 2022
Given parametrs are n,npop, collum vector with name Location and to form Matrix with name Sizes and its value range depend on 'n' value as stated as well as Matrix with name Locations and its value is random value from collum vector Location
the required tasks is How to generate the matrix Look like as example?
for example n=1
Locations=[116
82
27
4
136];
Sizes= [ 475
72
5421
3310
1015 ];
Positions= [116 475
82 72
27 5421
4 3310
136 1015 ]; i.e row size= npop , column size= 2*n for matrx Positions and its element value for first column is random value of column vector which is give and also second column values are random with range as stated above which depends on value of 'n'.

Accedi per commentare.

Risposta accettata

David Hill
David Hill il 19 Mag 2022
n=2;npop=5;Location=1:137;
Locations=reshape(Location(randperm(length(Location),n*npop)),npop,n);
s=[9476,4739,3157,2650];
Sizes=reshape(randperm(s(n),n*npop)-1,npop,n);
positions=[Locations,Sizes];
  3 Commenti
David Hill
David Hill il 20 Mag 2022
It is an example, the rest is for you to figure out.
Assen Beshr
Assen Beshr il 22 Mag 2022
Thank you very much Davil Hail for your support. with some modification the question was answerd as follows:
n=3;nPop=30;%Location=1:137;
Location=[2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;21;22;23;24;25;26;27;28;30;31;44;45;46;48;49;77;79;80;82;86;87;88;115;116;117;118;119;120;121;122;123;124;125;126;127;128;129;130;131;132;133;134;135;136;137];
Locations = Location(randi(numel(Location),nPop,n));
s=[9476,4739,3157,2650];
Sizes=reshape(randperm(s(n),n*nPop)-1,nPop,n);
positions=[Locations,Sizes];

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by