Rank: Newbie
Groups: Registered
Joined: 30/01/2021(UTC) Posts: 6
|
Hi everyone I am trying to create a matrix inside a matrix using a for loop. This is what I did: Matrix inside a matrix.sm (13kb) downloaded 8 time(s).This works but my real data is much larger than the one in this example and it takes like 10 minutes to run. Is there a more efficient way to do this? Thanks. Edited by user 23 November 2021 20:46:22(UTC)
| Reason: Not specified
|
|
|
|
Rank: Guest
Groups: Registered
Joined: 04/07/2015(UTC) Posts: 6,868 Was thanked: 980 time(s) in 808 post(s)
|
Originally Posted by: (Pedro) This works but my real data is much larger than the one in this example and it takes like 10 minutes to run. Is there a more efficient way to do this?
Your example runs in 0.5 s [Steam Engine Win 7] Matrix inside a matrix.sm (13kb) downloaded 9 time(s).
|
|
|
|
Rank: Advanced Member Groups: Registered
Joined: 23/03/2016(UTC) Posts: 275 Was thanked: 91 time(s) in 57 post(s)
|
Two things. One move the assignment of p[k to under the k for loop. You're reassigning to p too often. Also, for large datasets, it helps to initialize the size of the matrix rather than just increasing the size over each iteration. See attaached. Matrix inside a matrix_lyles.sm (16kb) downloaded 9 time(s). |
|
1 user thanked alyles for this useful post.
|
|
|
Rank: Advanced Member Groups: Registered
Joined: 28/08/2014(UTC) Posts: 1,356 Was thanked: 815 time(s) in 516 post(s)
|
Hola Pedro. Please check this version and tell us how long it takes with your data. Matrix inside a matrix.sm (32kb) downloaded 13 time(s).Best regards. Alvaro.
|
1 user thanked Razonar for this useful post.
|
|
|
Rank: Guest
Groups: Registered
Joined: 04/07/2015(UTC) Posts: 6,868 Was thanked: 980 time(s) in 808 post(s)
|
Originally Posted by: alyles Two things. On my Win 7 ... takes 4 times my original SS 6179 doctored version. Has it dependence with Smath version ? Cheers ... Jean.
|
|
|
|
Rank: Guest
Groups: Registered
Joined: 04/07/2015(UTC) Posts: 6,868 Was thanked: 980 time(s) in 808 post(s)
|
Originally Posted by: Razonar Hola Pedro. Please check this version and tell us how long it takes with your data. Timing is about twice my doctored version.
|
|
|
|
Rank: Newbie
Groups: Registered
Joined: 30/01/2021(UTC) Posts: 6
|
Originally Posted by: alyles Two things. One move the assignment of p[k to under the k for loop. You're reassigning to p too often. Also, for large datasets, it helps to initialize the size of the matrix rather than just increasing the size over each iteration. See attaached. Matrix inside a matrix_lyles.sm (16kb) downloaded 9 time(s). Thanks a lot, this works perfectly
|
|
|
|
Rank: Newbie
Groups: Registered
Joined: 30/01/2021(UTC) Posts: 6
|
Originally Posted by: Razonar Hola Pedro. Please check this version and tell us how long it takes with your data. Matrix inside a matrix.sm (32kb) downloaded 13 time(s).Best regards. Alvaro. Gracias, aprecio tu ayuda
|
|
|
|
Rank: Guest
Groups: Registered
Joined: 04/07/2015(UTC) Posts: 6,868 Was thanked: 980 time(s) in 808 post(s)
|
Originally Posted by: Jean Giraud Your example runs in 0.5 s [Steam Engine Win 7] ... annotated attachment ...Cheers ... Jean Matrix inside a matrix (Proposal).sm (32kb) downloaded 14 time(s).
|
|
|
|
Rank: Guest
Groups: Registered
Joined: 04/07/2015(UTC) Posts: 6,868 Was thanked: 980 time(s) in 808 post(s)
|
Originally Posted by: (Pedro) This works but my real data is much larger than the one in this example and it takes like 10 minutes to run. Is there a more efficient way to do this?
1. Wait and see your next Monster Big. 2. 10 min on your machine might take 1 hr on mine, but willing. 3. Maybe not not so big and interpolate ? See you sometimes, Cheers ... Jean
|
|
|
|
Forum Jump
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.