1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
#!/usr/bin/env ruby
# Turn on warnings
$-w = true
require 'irb/xmp'
require 'gsl'
# Apparently, IRB::Frame has a bug that prevents the defaults from working, so
# an XMP instance must be created explicitly this way instead of using the
# otherwise convenient xmp method.
XMP.new(IRB::Frame.top(-1)).puts <<END
# Create a 2x2 Matrix::Int and a 2x3 Matrix::Int
a = GSL::Matrix::Int[1..4, 2, 2]
b = GSL::Matrix::Int[5..10, 2, 3]
# Concatenate them horizontally using Matrix::Int#horzcat
a.horzcat(b)
# Concatenate them horizontally using Matrix::Int.horzcat
GSL::Matrix::Int.horzcat(a, b)
# Create a 2x2 Matrix::Int and a 3x2 Matrix::Int
a = GSL::Matrix::Int[1..4, 2, 2]
b = GSL::Matrix::Int[5..10, 3, 2]
# Concatenate them vertically using Matrix::Int#vertcat
a.vertcat(b)
# Concatenate them vertically using Matrix::Int.vertcat
GSL::Matrix::Int.vertcat(a, b)
END
|