Mercurial > repos > public > sbplib
diff vandermonde.m @ 770:0090a86d8b72 feature/grids
Improve mononomial and vandermonde functions to work in multiple dimension and adapt to sym or double inputs
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Wed, 27 Jun 2018 11:10:52 +0200 |
parents | 184833fe4c0e |
children |
line wrap: on
line diff
--- a/vandermonde.m Tue Jun 26 16:59:03 2018 +0200 +++ b/vandermonde.m Wed Jun 27 11:10:52 2018 +0200 @@ -1,10 +1,15 @@ % Create vandermonde matrix for points x and polynomials of order p -% x and p are vectors -% v is a length(x) by length(p) matrix +% x is a list of N points of size [N,dim], +% p is a list of polynomial orders of size [M, dim]. +% the given mononomials are evaluated and the NxM matrix V is returned. function V = vandermonde(x, p) - V = sym(zeros(length(x), length(p))); % Is there a way to make this work for both double and sym + assert(size(x,2) == size(p,2), 'x and p must have the same number of columns') + n = size(x,1); + m = size(p,1); - for i = 1:length(p) - V(:, i) = mononomial(x,p(i)); + for i = 1:m + V(:,i) = mononomial(x, p(i,:)); end + + assertSize(V,[n,m]); end