Mercurial > repos > public > sbplib
annotate mononomial.m @ 984:0585a2ee7ee7 feature/timesteppers
Inline the rk.rungekutta_4 function.
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Tue, 08 Jan 2019 12:19:33 +0100 |
parents | 0090a86d8b72 |
children |
rev | line source |
---|---|
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
|
1 % calculate a N-D mononomial with powers k in points x: |
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 % z = x(:,1).^k(1) * x(:,2).^k(2) * ... |
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 function z = mononomial(x, k) |
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 assert(size(x,2) == length(k), 'k must have the same length as the width of x'); |
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
|
5 |
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 if any(k < 0) |
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 z = x(:,1)*0; |
660
184833fe4c0e
Add monomial, vandermonde and stencil cretation tools
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
8 return |
184833fe4c0e
Add monomial, vandermonde and stencil cretation tools
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
9 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
|
10 |
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 denom = prod(factorial(k)); |
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
|
12 |
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 for i = 1:length(k) |
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 x(:,i) = x(:,i).^k(i); |
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
|
15 end |
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
|
16 z = prod(x,2)/denom; |
660
184833fe4c0e
Add monomial, vandermonde and stencil cretation tools
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
17 end |