Empty matrices
John W. Eaton
jwe at bevo.che.wisc.edu
Wed Oct 15 13:08:44 CDT 2008
On 15-Oct-2008, LUK ShunTim wrote:
| Hi,
|
| This snippet is taken from some matlab code:
|
| fd=inline('sqrt(sum(p.^2,2))-1','p');
|
| p=[0.01 0.00; -0.51 -0.05; 0.01 -0.20] % NG!
| %p=[1.01 0.00; -0.51 -0.05; 0.01 -0.20] % Works
| %p=[1.01 0.00; -1.51 -0.05; 0.01 -1.20] % Works
|
| d=feval(fd, p)
| ix=d>0
| a=d(ix)
|
| val=0.05;
| b=feval(fd, [p(ix,1)+val, p(ix,2)])
|
| res=b-a
|
| It works when ix returns at less one non-zero index but fails if ix=0.
| The result of using p=[0.01 0.00; -0.51 -0.05; 0.01 -0.20] is:
|
| ix =
|
| 0
| 0
| 0
|
| a = [](0x0)
| b = [](0x1)
| error: operator -: nonconformant arguments (op1 is 0x1, op2 is 0x0)
| error: evaluating binary operator `-' near line 14, column 6
|
| I cannot claim that the matlab code works as I've no matlab installed to
| do the test, though. :-(
I think the dimensions must always conform unless one of the operands
is a scalar, in which case the operation with the scalar is applied
to all elements of the non-scalar operand.
| How to proceed?
Fix your code.
| Or is this a bug in octave?
I don't think so.
jwe
More information about the Help-octave
mailing list