changeset 11510:61979293f879 octave-forge

geometry: adding polynomial curve functions
author jpicarbajal
date Mon, 04 Mar 2013 17:29:25 +0000
parents ce004d6d76ae
children dc77c2780421
files main/geometry/devel/ResidualAfterPort/polynomialCurves2d/polynomialDerivate.m
diffstat 1 files changed, 57 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main/geometry/devel/ResidualAfterPort/polynomialCurves2d/polynomialDerivate.m	Mon Mar 04 17:29:25 2013 +0000
@@ -0,0 +1,57 @@
+## Copyright (C) 2004-2011 David Legland <david.legland@grignon.inra.fr>
+## Copyright (C) 2004-2011 INRA - CEPIA Nantes - MIAJ (Jouy-en-Josas)
+## Copyright (C) 2012 Adapted to Octave by Juan Pablo Carbajal <carbajal@ifi.uzh.ch>
+## All rights reserved.
+## 
+## Redistribution and use in source and binary forms, with or without
+## modification, are permitted provided that the following conditions are met:
+## 
+##     1 Redistributions of source code must retain the above copyright notice,
+##       this list of conditions and the following disclaimer.
+##     2 Redistributions in binary form must reproduce the above copyright
+##       notice, this list of conditions and the following disclaimer in the
+##       documentation and/or other materials provided with the distribution.
+## 
+## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS''
+## AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+## ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
+## ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+## DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+## SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+## CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+function deriv = polynomialDerivate(poly)
+#POLYNOMIALDERIVATE Derivate a polynomial
+#
+#   DERIV = polynomialDERIVATE(POLY)
+#   POLY is a row vector of [n+1] coefficients, in the form:
+#       [a0 a1 a2 ... an]
+#   DERIV has the same format, with length n:
+#       [a1 a2*2 ... an*n]
+#
+#
+#   Example
+#   T = polynomialDerivate([2 3 4])
+#   returns:
+#   T = [3 8]
+#
+#   See also
+#   polynomialCurves2d
+#
+# ------
+# Author: David Legland
+# e-mail: david.legland@grignon.inra.fr
+# Created: 2007-02-23
+# Copyright 2007 INRA - BIA PV Nantes - MIAJ Jouy-en-Josas.
+
+
+# create the derivation matrices
+matrix = diag(0:length(poly)-1);
+
+# compute coefficients of first derivative polynomials
+deriv = circshift(poly*matrix, [0 -1]);
+
+