Class: Dispersa

Inherits:
Matriz show all
Defined in:
lib/p10lppt13.rb

Overview

Clase de Matrices Dispersas

Instance Attribute Summary collapse

Attributes inherited from Matriz

#ncol, #nfil

Instance Method Summary collapse

Methods inherited from Matriz

#*, #+, #-, #colum, #filas, #max, #min, #por, #porf, #primervalor, #to_s, #trasponer, #vectorizar

Constructor Details

#initialize(nfil, ncol, h = {}) ⇒ Dispersa

Constructor de la clase Matriz Dispersa



281
282
283
284
285
286
287
288
289
290
291
# File 'lib/p10lppt13.rb', line 281

def initialize(nfil, ncol, h = {})
  super(nfil, ncol)
  @pos = Hash.new({})
  for k in h.keys do
  @pos[k] = if h[k].is_a? VectorDisperso
          h[k]
         else 
          @pos[k] = VectorDisperso.new(h[k])
                    end
  end
end

Instance Attribute Details

#posObject (readonly)

Vector que almacena los valores de la matriz(Array de arrays, en el que cada array es una fila).



278
279
280
# File 'lib/p10lppt13.rb', line 278

def pos
  @pos
end

Instance Method Details

#[](i) ⇒ Object

Metodo para acceder a una posicion de la matriz



294
295
296
# File 'lib/p10lppt13.rb', line 294

def [](i)
  @pos[i]
end

#col(j) ⇒ Object

Metodo para acceder a una columna de la matriz



299
300
301
302
303
304
305
# File 'lib/p10lppt13.rb', line 299

def col(j)
  c = {}
  for r in @pos.keys do
    c[r] = @pos[r].vector[j] if @pos[r].vector.keys.include? j
  end
  VectorDisperso.new c
end