MATLAB: Basic matrix manipulation

indexingmatricesmatrix

Hey, I was wondering if anyone could help me. Ill try to expain it as best i can. A have two matricies. Matrix A (3*4) and matrix B (4*3)
I wish to create matrix C with same size as matrix A that will be made up of values from the first collumn of matrix B. So that if matrix A has a value of 1 value B(1,1) will replace it and so on 2=B(1,2) 3=B(1,2) 4=B(1,1) 0=stays 0
A=[0 1 3 0;0 2 4 0;1 0 0 0]
B=[.3 .5 .6;.4 .6 .1;.5 .5 .5;.5 .2 .5]*
I wish to create C C=[0 .3 .5 0;0 .4 .5 0; .3 0 0 0]
I hope i have expalined it well enough.
Any help would be appreciated. Thank you
Dana Post

Best Answer

t = A~=0
C = A;
i1 = 2; % OR 1 or 3
C(t) = B(A(t),i1)