Date  File  Comment by  Comment  Rating 

12 Dec 2014  GaussJackson EighthOrder ODE Solver (Fixed Step Size) GaussJackson EightOrder MultiStep PredictorCorrector using ODE113 in its startup procedure.  Christophe Lauwerys  Nice contribution. One remark: number of states is hardcoded to 3. Please replace these references to a variable number of states that you, for instance, can get from y0 at run time. Thanks Christophe 

03 Dec 2014  Representing Polyhedral Convex Hulls by Vertices or (In)Equalities Express bounded polyhedron via equalities/inequalities or vertices.  Christophe Lauwerys  Dear Matt, tried calculating the intersection between a two triangles touching each other in a point but got following error. Assume can be solved by setting tolerances correct? Thanks Christophe >> [A1,b1,Aeq1,beq1]=vert2lcon([2,0;0,2;0,0]);


12 Feb 2014  CatStruct2 Concatenates Structures (fields each depth are merged)  Christophe Lauwerys  Exactly what I was looking for after first trying out Jos' submission. Unfortunately StrCmpFN on line 116 is undefined resulting in an error. 

30 Jan 2014  LOGICALFIND Find occurrences of consecutive nonzeros in a vector (v1.0, jan 2014)  Christophe Lauwerys  Well documented, elegant and efficient. 

29 Jan 2013  Differential Algebraic Equation Solvers A solves a set of differential algebraic equations f(t,y,y')=0 where y'=dy/dt.  Christophe Lauwerys  Very nice. 

04 May 2012  HPF  a big decimal class High precision floating point arithmetic, a new class written in MATLAB  Christophe Lauwerys  
11 Apr 2012  TPROD  arbitary tensor products between nd arrays TPROD  efficiently allows any type of tensor product between 2 multidimensional arrays  Christophe Lauwerys  Great tool, thanks. (how) would it be possible to create a simulink block with this functionality? 

02 Feb 2012  distance2curve Find the closest point on a (ndimensional) curve to any given point or set of points  Christophe Lauwerys  As always, great submission, thanks. Could one easily extend this algorithm to finding the closest point on a surface from given a point in space? Or from another given curve, surface, ... ? 

13 Oct 2011  Random Vectors with Fixed Sum Randomly and uniformly generates vectors with a specified sum and values in a specified interval.  Christophe Lauwerys  Nice. I'm trying to generate random data within a simplex defined by linear inequality constraints. Lets say I already have the N vertices of the simplex defined by the inequalities. Is it then correct to first generate a random sample in the interval [0,1] with a sum equal to 1, and then take the inner product of this sample with the vector of vertices? Something along the lines of: X = rand(6,2);
Maybe I shouldn't trust my vision on this, but the samples don't really look uniformly spread within the simplex. For some reason they only seem to do for a triangle. Any thoughts? Thanks Christophe 

11 Aug 2011  Fractions Toolbox create and manipulate fractions (K+N/D) using exact arithmetic  Christophe Lauwerys  Great stuff, but I wonder how your two statements quoted below can be unified. In other words: how can you define for instance SIGN and ABS for objects that represent polynomials? Not to mention GCD for multivariate polynomials ... Not an expert but do you need Groebner bases for this? Thanks Christophe A) % Nonstandard objects must include 0, 1, 1 and require the following
B) If there exists a suitably defined polynomial object, this toolbox could be used to perform partial fractions. 

09 Aug 2011  Symbolic polynomials Objectoriented symbolic polynomial manipulation in one or more variables  Christophe Lauwerys  sympolys x y
returns x*y + x  y  1.000000 whereas x*y  y + 1 is correct. A bug? 

02 Nov 2010  groebner manipulate and solve systems of multivariate polynomial equations by computing the groebner basis  Christophe Lauwerys  Ben, thanks for your answer. Could you have a look at another feature/bug: P = str2poly({'x1*x2*x3'}); P{1} ans = 1 1 1 1 poly2str(P)
Error in ==> poly2str at 68
Thanks Christophe 

08 Oct 2010  groebner manipulate and solve systems of multivariate polynomial equations by computing the groebner basis  Christophe Lauwerys  Dear Ben, seems a little trick, overloading the LE operator for the SYM class, makes your code available for syms quite straightforwardly after all, at least a previous version of your code which did not use SORTROWS yet. An unrelated remark: how come groebner({'t^3+x+y','t^2+0.5*x^2xz^2','t^2+yz^2'},'grlex',{'t','x','y','z'})' returns 't^3+x+y'
in less then a second, while groebner({'t^3+x+y','t^2+0.5*x^2xz^2','t^2+yz^2'},'lex',{'t','x','y','z'})' does not return at all ? 

07 Oct 2010  groebner manipulate and solve systems of multivariate polynomial equations by computing the groebner basis  Christophe Lauwerys  The first problem I encounter trying to use symbolic expressions is on line 305 in groebner.m if all(abs(P(:))<=tol) where P is a symbolic array. ??? Undefined function or method 'le'
Not sure how to get around this if possible at all. Symbolic variables can be anything or can be defined under certain assumptions (see http://www.mathworks.com/help/toolbox/symbolic/brs6v40.html#brtck2n) I guess the LE operator for symbolic variables should check these assumptions in order to come up with an answer. 

06 Jul 2010  Consolidator Consolidates common elements in x (may be ndimensional), aggregating corresponding y.  Christophe Lauwerys  Thanks for this great contribution.
consolidator([1,2,3,3.01,6]',[],[],1) to return 1
However, it returns 1.5000
Is this desired behavior? Wouldn't it make sense to aggregate 3 and 3.01 instead of 1 and 2? 
