repacing a value by another

6 次查看(过去 30 天)
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 个评论
Jan
Jan 2012-2-9
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?

请先登录,再进行评论。

采纳的回答

Andrei Bobrov
Andrei Bobrov 2012-2-9
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 个)

类别

Help CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by