Mercurial > repos > public > sbplib
annotate vandermonde.m @ 1198:2924b3a9b921 feature/d2_compatible
Add OpSet for fully compatible D2Variable, created from regular D2Variable by replacing d1 by first row of D1. Formal reduction by one order of accuracy at the boundary point.
author | Martin Almquist <malmquist@stanford.edu> |
---|---|
date | Fri, 16 Aug 2019 14:30:28 -0700 |
parents | 0090a86d8b72 |
children |
rev | line source |
---|---|
660
184833fe4c0e
Add monomial, vandermonde and stencil cretation tools
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
1 % Create vandermonde matrix for points x and polynomials of order p |
770
0090a86d8b72
Improve mononomial and vandermonde functions to work in multiple dimension and adapt to sym or double inputs
Jonatan Werpers <jonatan@werpers.com>
parents:
660
diff
changeset
|
2 % x is a list of N points of size [N,dim], |
0090a86d8b72
Improve mononomial and vandermonde functions to work in multiple dimension and adapt to sym or double inputs
Jonatan Werpers <jonatan@werpers.com>
parents:
660
diff
changeset
|
3 % p is a list of polynomial orders of size [M, dim]. |
0090a86d8b72
Improve mononomial and vandermonde functions to work in multiple dimension and adapt to sym or double inputs
Jonatan Werpers <jonatan@werpers.com>
parents:
660
diff
changeset
|
4 % the given mononomials are evaluated and the NxM matrix V is returned. |
660
184833fe4c0e
Add monomial, vandermonde and stencil cretation tools
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
5 function V = vandermonde(x, p) |
770
0090a86d8b72
Improve mononomial and vandermonde functions to work in multiple dimension and adapt to sym or double inputs
Jonatan Werpers <jonatan@werpers.com>
parents:
660
diff
changeset
|
6 assert(size(x,2) == size(p,2), 'x and p must have the same number of columns') |
0090a86d8b72
Improve mononomial and vandermonde functions to work in multiple dimension and adapt to sym or double inputs
Jonatan Werpers <jonatan@werpers.com>
parents:
660
diff
changeset
|
7 n = size(x,1); |
0090a86d8b72
Improve mononomial and vandermonde functions to work in multiple dimension and adapt to sym or double inputs
Jonatan Werpers <jonatan@werpers.com>
parents:
660
diff
changeset
|
8 m = size(p,1); |
660
184833fe4c0e
Add monomial, vandermonde and stencil cretation tools
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
9 |
770
0090a86d8b72
Improve mononomial and vandermonde functions to work in multiple dimension and adapt to sym or double inputs
Jonatan Werpers <jonatan@werpers.com>
parents:
660
diff
changeset
|
10 for i = 1:m |
0090a86d8b72
Improve mononomial and vandermonde functions to work in multiple dimension and adapt to sym or double inputs
Jonatan Werpers <jonatan@werpers.com>
parents:
660
diff
changeset
|
11 V(:,i) = mononomial(x, p(i,:)); |
660
184833fe4c0e
Add monomial, vandermonde and stencil cretation tools
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
12 end |
770
0090a86d8b72
Improve mononomial and vandermonde functions to work in multiple dimension and adapt to sym or double inputs
Jonatan Werpers <jonatan@werpers.com>
parents:
660
diff
changeset
|
13 |
0090a86d8b72
Improve mononomial and vandermonde functions to work in multiple dimension and adapt to sym or double inputs
Jonatan Werpers <jonatan@werpers.com>
parents:
660
diff
changeset
|
14 assertSize(V,[n,m]); |
660
184833fe4c0e
Add monomial, vandermonde and stencil cretation tools
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
15 end |