Mercurial > forge
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]); + +