annotate mononomial.m @ 774:66eb4a2bbb72 feature/grids

Remove default scaling of the system. The scaling doens't seem to help actual solutions. One example that fails in the flexural code. With large timesteps the solutions seems to blow up. One particular example is profilePresentation on the tdb_presentation_figures branch with k = 0.0005
author Jonatan Werpers <jonatan@werpers.com>
date Wed, 18 Jul 2018 15:42:52 -0700
parents 0090a86d8b72
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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