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 :)

 채택된 답변

Star Strider
Star Strider 2014년 5월 26일

0 개 추천

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

Akmyrat
Akmyrat 2014년 5월 26일
not exactly what i want...but anyway thanks a lot .
Star Strider
Star Strider 2014년 5월 26일
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?

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Matrix Indexing에 대해 자세히 알아보기

태그

질문:

2014년 5월 26일

댓글:

2014년 5월 26일

Community Treasure Hunt

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

Start Hunting!

Translated by