element values of matrix.

6 views (last 30 days)
Akmyrat
Akmyrat on 26 May 2014
Commented: Star Strider on 26 May 2014
Lets say i have matrix A=[1 2 2;1 2 2;2 1 2;2 2 2]. if i do this code:
[m,n]=size(A)
for j = 1
for i = 1:m
if(ACM(i,j)==1)
C=(i,j)
end
end
end
%this program gives me the position of elements whose value is equal to 1. And there are 2 rows from 1st columns values are is 2. so i want that the rows whose elemnt is 1 need to be equal to "20", and the rest rows whose element is 2 , need to be "3". And multiply them according to sequence. in this case C will be resulted C=(1,1) C=(2,1), these are together represents "20", and with rest 3rd and 4th rows are 2s. which represent "3" . So result i want this 20*3*3=180. i hope i could explain :)

Accepted Answer

Star Strider
Star Strider on 26 May 2014
I am not certain I understand what you want, but this seems to come close:
A=[1 2 2;1 2 2;2 1 2;2 2 2];
C = A;
C(C==1) = 20; % Use ‘logical indexing’
C(C==2) = 3;
C = prod(C,2) % Take product along rows, across columns
produces:
C =
180.0000
180.0000
180.0000
27.0000
  2 Comments
Akmyrat
Akmyrat on 26 May 2014
not exactly what i want...but anyway thanks a lot .
Star Strider
Star Strider on 26 May 2014
My pleasure!
If it’s not exactly what you want,
  • what does it do that you don’t want it to do, or
  • what doesn’t it do that you want it to do?

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!