Clear Filters
Clear Filters

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

1 view (last 30 days)
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

Accepted Answer

Roger Stafford
Roger Stafford on 1 Mar 2016
B = A(:,1:2)+A(:,3:4);
  15 Comments
mania online
mania online on 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 on 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);

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!