help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: feval call to a subfunction fails when it is in a subfunction


From: Ben Abbott
Subject: Re: feval call to a subfunction fails when it is in a subfunction
Date: Thu, 01 Oct 2009 06:59:15 -0400


On Sep 30, 2009, at 9:53 PM, Ben Abbott wrote:


On Sep 30, 2009, at 9:40 PM, Sidney Markowitz wrote:

I'm new to using Octave and don't know if this is a bug in my code, a
bug in Octave, or something wrong with my installed copy of Octave.

The following code demonstrates the problem. The first feval, in the
main function, works and the result is displayed. The other feval,
inside the subfunction switchyard2, gets an error in line 9
error: feval: function `mysin' not found

I am using Octave version 3.2.2 compiled on my Macbook under MacOS
10.6.1, downloaded and built from Macports. I put the following text
in
a file named ./switchyard.m and invoked it in the Octave command
line by
typing   switchyard(10)

Do others get the same results? Is there a bug in my example code?
Is it
a bug in Octave?

function y = switchyard(x)
  z = feval('mysin', x);
  disp(z);
  y = switchyard2(x);
 return;
endfunction

function y = switchyard2(x)
 y = feval('mysin', x);
 return;
endfunction

function y= mysin(x)
 y = sin(x);
return;
endfunction


It appears that I'm getting the same.

octave-3.2.2:4> switchyard(pi)
 1.2246e-16
error: feval: function `mysin' not found
error: called from:
error:   /Users/bpabbott/switchyard.m at line 9, column 5
error:   /Users/bpabbott/switchyard.m at line 4, column 6

01 function y = switchyard(x)
02    z = feval('mysin', x);
03    disp(z);
04    y = switchyard2(x);
05   return;
06 endfunction
07
08 function y = switchyard2(x)
09   y = feval('mysin', x);
10   return;
11 endfunction
12
13 function y= mysin(x)
14   y = sin(x);
15  return;
16 endfunction

I'm also running Mac OS 10.6.

I'm presently building the developers sources, so I can't check them
till tomorrow.

Ben

With the developers sources, it works as expected.

octave:3> switchyard(pi)
 1.2246e-16
ans =  1.2246e-16

Ben



reply via email to

[Prev in Thread] Current Thread [Next in Thread]