Mercurial > repos > public > sbplib
annotate vandermonde.m @ 1037:2d7ba44340d0 feature/burgers1d
Pass scheme specific parameters as cell array. This will enabale constructDiffOps to be more general. In addition, allow for schemes returning function handles as diffOps, which is currently how non-linear schemes such as Burgers1d are implemented.
author | Vidar Stiernström <vidar.stiernstrom@it.uu.se> |
---|---|
date | Fri, 18 Jan 2019 09:02:02 +0100 |
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 |