repacing a value by another
7 views (last 30 days)
Show older comments
I have a matrix of 100x6 for ex let me take 6x6
[1 2 3 4 5 6
11 58 12 8 2 12
2 10 36 69 1 20
14 85 94 20 36 5
19 58 41 52 69 87
10 25 36 78 01 25]
now i want to replace the values as this,taking evry 2 elements in column wise as a pair,
for ex 1&11 must be replaced by a number 0.1
2 and 14 must be replaced by 0.2
19and 10 must be replaced by 0.3 (these for first column)
for 2nd column the values must be replaced is 2.0,2.1,2.2.....
please help
1 Comment
Jan
on 9 Feb 2012
I do not understand the pattern. Do the new values depend on the old values, or just on the indices? Why is "19 and 10" replaced by 0.3?
Accepted Answer
Andrei Bobrov
on 9 Feb 2012
A =rand(100,6);
[i1,j1] = ndgrid( 1:ceil(size(A,1)/2),1:size(A,2));
i1(:,2:end) = i1(:,2:end) - 1;
j1(:,1) = j1(:,1) - 1;
k=max(max(ceil(log10(i1))));
i1 = i1./10.^(k);
out = reshape(permute(repmat(i1+j1,[1,1,2]),[2 3 1]),size(A,2),[])';
0 Comments
More Answers (0)
See Also
Categories
Find more on Characters and Strings 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!