fork download
  1. require 'matrix'
  2.  
  3. size = 3
  4. range = 4
  5. num = 10000
  6. det_is_zero=0
  7.  
  8. matriz = Matrix.build(size) {|i,j| i+j}
  9. print matriz;puts
  10.  
  11.  
  12. for i in 1..num
  13. a = Array.new
  14. matriz = Matrix.build(size) { rand -range..range}
  15. matriz = matriz+matriz.transpose
  16. #matriz.to_a.each {|r| puts r.inspect}
  17. det = matriz.determinant
  18. #puts det
  19. if det ==0
  20. det_is_zero+=1
  21. end
  22. end
  23. puts "Matriz #{size}*#{size} valor de #{-range} a #{range}"
  24. puts "#{num}veces, #{det_is_zero}matrizes não invertiveis,"
  25. puts 1.0*det_is_zero/num
  26.  
  27.  
  28. =begin
  29. for n in 1..10
  30. for i in 0..3
  31. Array.new(4) {|i| i.to_s }
  32. for j in 0..3
  33.  
  34. end
  35. end
  36. end
  37.  
  38.  
  39. # Create a 2x2 matrix
  40. m = Matrix[[1, 2], [3, 4]]
  41.  
  42. # Calculate the determinant
  43. det = m.determinant
  44.  
  45. puts m
  46. p m
  47.  
  48. p m[1,0]
  49. puts "The determinant of the matrix is #{det}"
  50.  
  51. =end
  52.  
  53.  
  54.  
Success #stdin #stdout 0.21s 8928KB
stdin
Standard input is empty
stdout
Matrix[[0, 1, 2], [1, 2, 3], [2, 3, 4]]
Matriz 3*3 valor de -4 a 4
10000veces, 174matrizes não invertiveis,
0.0174