Hi Diego,

I'm not sure you can do that with Ruby's standard Matrix class, but you
surely can do it using SciRuby's NMatrix:

require 'nmatrix'
n = NMatrix.random(5) # Create a 5x5 matrix of random float values.
m = n[1 .. 3, 1 .. 3]            # Select a square matrix centered around
n[2,2].

And then you can print the matrices with:

n.pp
m.pp

You can read more about the project in the official website
http://sciruby.com/ or on the GitHub page https://github.com/sciruby/nmatrix
.

If you have any questions, please direct them at SciRuby's mailing list:

https://groups.google.com/forum/#!forum/sciruby-dev

See you,


-----
Carlos Agarie
Software Engineer @ Geekie (geekie.com.br)
+55 11 97320-3878
@carlos_agarie


2013/7/16 Diego N. <lists / ruby-forum.com>

> Hi!
> I'm looking for a way to get part of matix: eg:
> my matrix:
> [10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
> [20, 21, 22, 23, 24, 25, 26, 27, 28, 29]
> [30, 31, 32, 33, 34, 35, 36, 37, 38, 39]
> [40, 41, 42, 43, 44, 45, 46, 47, 48, 49]
> [50, 51, 52, 53, 54, 55, 56, 57, 58, 59]
> [60, 61, 62, 63, 64, 65, 66, 67, 68, 69]
> [70, 71, 72, 73, 74, 75, 76, 77, 78, 79]
> [80, 81, 82, 83, 84, 85, 86, 87, 88, 89]
> [90, 91, 92, 93, 94, 95, 96, 97, 98, 99]
>
> How could i get part ( square ) of the matrix? If i choose the number
> 54, i would like to get the numbers [43,44,45,53,55,63,64,65], a 3x3
> square.
>
> I'm trying to understand the doc (
> http://ruby-doc.org/stdlib-1.9.3/libdoc/matrix/rdoc/Matrix.html ).
>
> There's a method to get this?
>
> thanks,
> Dieog
>
> --
> Posted via http://www.ruby-forum.com/.
>
>