Assigning values from one array to another if certain specifications are met.
Show older comments
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.
Accepted Answer
More Answers (1)
Kevin Hellemans
on 13 Apr 2020
Edited: Adam Danz
on 13 Apr 2020
Hi,
I think this should do the trick:
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];
A(2,B(2,:)) = B(1,:);
A(3,C(2,:)) = C(1,:);
disp(A)
1 Comment
Tadas Grauzinis
on 13 Apr 2020
Categories
Find more on Linear Algebra 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!