# Matrix Referencing

I have a Matrix defined as follows:

wvp =
Matrix[[-40.0,0.006],[0.0,0.045],[32.0,0.18],[59.0,0.50],[70.0,0.74],
[100.0,1.93],[130.0,4.53]]

I want to interpolate within this 2D array, which I start to do with
the following equation:

m = (wvp[i,2]-wvp[i-1,2])/(wvp[i,1]-wvp[i-1,1])

This is readily done in C, but Ruby does not like the fact that I
subtract a one from the index i within the context of the array, i.e.,
[i-1,2]. Even if I try to fake it out by first declaring j = i - 1, and
using j in place of the i-1 within the array coordinate, I get the
following error:

C:\rails_projects\TestRubyConcepts\lib\main.rb:74:in
`humidity_correction': undefined method `-' for nil:NilClass
(NoMethodError)

It's claiming my method - is undefined. How do I defeat this?

···

--
Posted via http://www.ruby-forum.com/.

I have a Matrix defined as follows:

wvp =
Matrix[[-40.0,0.006],[0.0,0.045],[32.0,0.18],[59.0,0.50],[70.0,0.74],
[100.0,1.93],[130.0,4.53]]

I want to interpolate within this 2D array, which I start to do with
the following equation:

m = (wvp[i,2]-wvp[i-1,2])/(wvp[i,1]-wvp[i-1,1])

This is readily done in C, but Ruby does not like the fact that I
subtract a one from the index i within the context of the array, i.e.,
[i-1,2]. Even if I try to fake it out by first declaring j = i - 1, and
using j in place of the i-1 within the array coordinate, I get the
following error:

C:\rails_projects\TestRubyConcepts\lib\main.rb:74:in
`humidity_correction': undefined method `-' for nil:NilClass
(NoMethodError)

It's claiming my method - is undefined. How do I defeat this?

"undefined method `-' for nil:NilClass" means that the operand to the
left of one of the '-' operators is Nil. That will most likely be one
of the wvp[...] accesses, assuming i and j are initialized correctly.

Check each of
wvp[i,2], wvp[i-1,2], wvp[i,1], and wvp[i-1,1] and see what they return.

Nathan

Oops you are correct! MATLAB which I wrote the template code in has a
starting index 1, while Ruby has starting index 0. I overran my index.

I told myself in the beginning I had to be wary of this and I just fell
into the trap.

Thanks

···

--
Posted via http://www.ruby-forum.com/.