Mon 19 Sep 2011 12:31:35 PM UTC, comment #8:
Good suggestion!
I've pushed a change.
http://hg.savannah.gnu.org/hgweb/octave/rev/6b6d0e51bd2f
|
Mon 19 Sep 2011 03:01:25 AM UTC, comment #7:
My only comment would be to check for an integer using
One can use any of the chopping functions (fix, floor, ceil, round) for this test. I've benchmarked them all in prior work and fix() is the fastest. I'm trying to get this convention established in the Octave code rather than the "x == round (x)" which is ubiquitous in Matlab code.
|
Sun 18 Sep 2011 02:00:12 AM UTC, comment #6:
The last changeset is below.
http://hg.savannah.gnu.org/hgweb/octave/rev/e173fda06fca
I'll leave this open for testing.
|
Sat 17 Sep 2011 08:17:54 PM UTC, comment #5:
The problem with interp3 is trivial. The changeset is below.
http://hg.savannah.gnu.org/hgweb/octave/rev/621108cf81d1
The remaining problem is with interpn(). With Matlab ...
... and Octave ...
If the interleave factor is explicitly set to one, the result is still incorrect.
I'm changing the summary again to better represent the bug.
|
Sat 17 Sep 2011 07:24:19 PM UTC, comment #4:
I've pushed a change to fix the problem with interp2.
http://hg.savannah.gnu.org/hgweb/octave/rev/ab17591254fc
|
Sat 17 Sep 2011 05:34:33 PM UTC, comment #3:
I'm changing the release to 3.4.2 and modifying the summary to indicate both interp2 and interp3.
|
Sat 17 Sep 2011 05:32:59 PM UTC, comment #2:
Both bug #30121, and bug #29601 have been resolved. However, there remain some problems.
For example, with Matlab ...
... and with Octave ...
The 3D problems also persists. Matlab ...
... and Octave ...
|
Thu 01 Jul 2010 04:18:57 AM UTC, comment #1:
This is confirmed on a recent hg tip (10736:14af8004945d) running on GNU/Linux.
In general, all of the interp functions need to be reworked as evidenced by this bug, bug #30121, and bug #29601.
|
Tue 29 Jun 2010 07:26:44 PM UTC, original submission:
Hello,
I am quite sure that there is something wrong with arguments parsing in interp3 (it is, among other things, done in quite different way than in interp2)
In short, see the output:
octave:30> interp2(rand(2,2));
octave:31> interp3(rand(2,2,2));
error: subscript indices must be either positive integers or logicals.
error: called from:
error: /usr/share/octave/3.2.4/m/general/interp3.m at line 73, column 3
octave:32> interp3(rand(2,2,2), 'linear');
error: A(I): Index exceeds matrix dimension.
error: called from:
error: /usr/share/octave/3.2.4/m/general/interp3.m at line 91, column 7
|