Hello,
Chebfun (http://www2.maths.ox.ac.uk/chebfun/) adds very powerful
capabilities
to Matlab, making numerical computations feeling like symbolic ones,
with the
speed of numerical computations.
It would be nice if Octave could profit from this major advance.
However Chebfun v 3.0 is not working in Octave due to some missing
capability
in Octave.
I am not at all familiar with the internals of Matlab or Octave, but
perhaps
someone on this list can evaluate if the problem is hard or easy to
solve.
Making Chebfun working could also suggest where efforts for Octave
should go.
When I try to define a chebfun on Octave 3.2.4 I get the following :
----------------------------
octave:22> x = chebfun('x',[0 10]);
error: concatenation operator not implemented for `scalar' by `class'
operations
error: called from:
error: /home/pf/Trefethen/chebfun/@chebfun/private/ctor_adapt.m at
line 119, column 6
error: /home/pf/Trefethen/chebfun/@chebfun/chebfun.m at line 153,
column 7
octave:22>
-----------------------------
In the file ctor_adapt.m funs is initialized as
funs = [];
and later updated as
funs = [funs fs];
which produces the error message. fs results from a call to a the
function
fun with the following header:
-------------------------------------------------------
function [g,ish] = fun(op,ends,varargin)
% FUN Constructor
% FUN(OP,ENDS) constructs a fun object for the function OP. If OP is
a string,
% such as '3*x.^2+1', or a function handle, FUN(OP) automatically
determines
% the number of points for OP. If OP is a vector, FUN(OP) constructs a
fun
% object such that its function values are the numbers in OP.
%
% FUN(OP,ENDS,N) where N a positive integer creates a fun for OP with
N Chebyshev
% points. This option is not adaptive.
%
% FUN(OP,ENDS,PREF,SCL) creates a fun for OP adaptively using the
preferences
% provided in the structure PREF (see chbfunpref). Here SCL is a
structure
% with fields SCL.H (horizontal scale) and SCL.V (vertical scale).
%
% Additionally, exponents can be pass within PREF by attaching them in
a cell
% array to PREF.EXPS, and a non-adaptive call can be forced by setting
% PREF.N to be a positive integer.
%
% [G,ISH] = FUN(...) returns the constructed fun G and the boolean ISH,
% which is true if the construction is believed to have converged and
false
% otherwise.
%
% FUN creates an empty fun.
%
% See http://www.maths.ox.ac.uk/chebfun for chebfun information.
% Copyright 2002-2009 by The Chebfun Team.
% Last commit: $Author: hale $: $Rev: 991 $:
% $Date: 2009-12-16 16:06:29 +0000 (Wed, 16 Dec 2009) $:
----------------------------------------------------------
I repeat it would be nice if Chebfun would work in Octave!
Dan