Method: Matlab::StructMatrix#to_matlab

Defined in:
lib/matlab/driver/native/conversions.rb

#to_matlabObject

Converts the matrix into a MATLAB struct matrix



178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
# File 'lib/matlab/driver/native/conversions.rb', line 178

def to_matlab
  matrix = Matlab::Driver::Native::API.mxCreateStructMatrix(m, n, 0, nil)
  names.each { |name| Matlab::Driver::Native::API.mxAddField(matrix, name) }
  
  index = 0
  m.times do |row_index|
    n.times do |column_index|
      names.each do |name|
        value = (@cells[row_index][column_index][name].nil? ? Matlab::Driver::Native::API.mxCreateDoubleScalar(nil.to_matlab) : @cells[row_index][column_index][name].to_matlab)
        Matlab::Driver::Native::API.mxSetField(matrix, index, name, value)
      end
      index += 1
    end
  end

  matrix
end