octave-maintainers
[Top][All Lists]
Advanced

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

Re: Chebfun


From: David Grundberg
Subject: Re: Chebfun
Date: Fri, 22 Jan 2010 17:36:51 +0100
User-agent: Thunderbird 2.0.0.23 (X11/20090812)

Daniel Pfenniger wrote:
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


Try replacing the initial

funs = [];

with

funs = fun;

where fun is the above mentioned function.

hth,
David


reply via email to

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