Info

This question is closed. Reopen it to edit or answer.

Help with Matrix Summations

1 view (last 30 days)
Peter cullen
Peter cullen on 27 Jan 2014
Closed: MATLAB Answer Bot on 20 Aug 2021
Hi,
Below is an output from matlab. I wish to combine this into one matrix & add the three last terms of each elg_nl to the first three in the next elg_nl. How can this be done? The required solution is shown. I may also have more than 3 elg_nl, would I require a loop??
>> elg_nl
elg_nl(:,:,1) =
0
0
0
-6
-3
1
elg_nl(:,:,2) =
-5.0000
0.0000
7.5000
-5.0000
0.0000
7.5000
elg_nl(:,:,3) =
-6
-3
1
0
0
0
>> expected result (12x1matrix)
0
0
0
-11.0000
-3.0000
8.5000
-11.0000
-3.0000
8.5000
0
0
0
Please help, thanks

Answers (2)

Matt J
Matt J on 27 Jan 2014
sum(elg_nl,3)
will produce the middle 6 elements you want. I don't know by what you rule you want it extended to 12x1, unless it's just zero padding.
  2 Comments
Peter cullen
Peter cullen on 27 Jan 2014
Thanks, I am trying to create a finite element code for a portal frame. The zeros indicate zero force at certain nodes and therefore are required. Any other ideas?
Matt J
Matt J on 27 Jan 2014
Edited: Matt J on 27 Jan 2014
No other ideas are required for any apparent reason. I've given you what you requested, as far as I can tell. I don't imagine you need help padding with zeros, if that's the only missing piece.

Amit
Amit on 27 Jan 2014
eigen_nl_expected = [eigen_nl(:,:,1);eigen_nl(:,:,3)]
eigen_nl_expected(4:9) = eigen_nl_expected(4:9) + eigen_nl(:,:,2);

Community Treasure Hunt

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

Start Hunting!