Azzera filtri
Azzera filtri

i have 4 columns of (256x4 double) type.

1 visualizzazione (ultimi 30 giorni)
I want to add column 1 with 3 and column 4 with 2 and need to store results in two columns. In first column it should save the result of 1 and 3 and in second column it should save 2 and 4 result. one more thing i want to add column 1 with 3 randomly.Like 1st index of column 1 need to add with any index of column 3. i don't want to add these columns with similar index

Risposta accettata

Roger Stafford
Roger Stafford il 1 Mar 2016
B = A(:,1:2)+A(:,3:4);
  15 Commenti
mania online
mania online il 2 Mar 2016
got the point. Can you please tell me how to add column 1 with 3 randomly.Like 1st index of column 1 need to add with any index of column 3. i don't want to add these columns with similar index.
Roger Stafford
Roger Stafford il 3 Mar 2016
I interpret your statement "add column 1 with 3 randomly.Like 1st index of column 1 need to add with any index of column 3. i don't want to add these columns with similar index" to mean that you seek a random permutation of column 3 which at no position from 1 to 256 does the permuted index value agree with the original position index value. For columns of length 256 the while-loop in the code below will probably require an average of two to four repetitions. If you wish the same action for columns 2 and 4, the following code can easily be modified to do that.
n = size(A,1);
b = true;
while b
p = randperm(n);
b = any(p==(1:n));
end
B(:,1) = A(:,1) + A(p,3);

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