MATLAB: Assigning values from one array to another if certain specifications are met.

arraycantileverMATLABmatrix

I have a few arrays
A= 0 1 2 3 6 8 9 10
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0
B= 20 5 15 10
9 8 2 1
C= 10 15
9 3
Bassically the first row of A contains special points from a line that goes from 0 to 10 and the other two rows are where the values from B( to second row) and C( to third row) should go. Second rows of B and C are corresponding points from the first row of A.
For example. Since B(2,1)=A(1,7) then B(1,1) should go to A(2,7) like this:
A= 0 1 2 3 6 8 9 10
0 0 0 0 0 0 20 0
0 0 0 0 0 0 0 0
The final result should look like this:
A= 0 1 2 3 6 8 9 10
0 10 15 0 0 5 20 0
0 0 0 15 0 0 10 0
I am very much still a beginner in Matlab. I am writing a script that would calculate shear forces and bending moments of a cantilever beam so any advice and/or suggestions would be greatly appreciated.

Best Answer

Inputs:
A= [ 0 1 2 3 6 8 9 10
0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0];
B= [ 20 5 15 10
9 8 2 1];
C= [10 15
9 3];
Solution:
[isMatch, col] = ismember(B(2,:), A(1,:));
A(2,col(isMatch)) = B(1,isMatch);
[isMatch, col] = ismember(C(2,:), A(1,:));
A(3,col(isMatch)) = C(1,isMatch);
Result:
>> A
A =
0 1 2 3 6 8 9 10
0 10 15 0 0 5 20 0
0 0 0 15 0 0 10 0