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)

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!