Mercurial > repos > public > sbplib
annotate spdiag.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 | e76321b89c1e |
children |
rev | line source |
---|---|
45
b6cfc04e576c
Changed spdiag to be more like matlabs diag.
Jonatan Werpers <jonatan@werpers.com>
parents:
27
diff
changeset
|
1 function A = spdiag(a,i) |
81
9c0192cf099f
Added default argument to spdiag.
Jonatan Werpers <jonatan@werpers.com>
parents:
51
diff
changeset
|
2 default_arg('i',0); |
555
8e0067aef5b0
Make spdiag accept both row and column vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
81
diff
changeset
|
3 |
8e0067aef5b0
Make spdiag accept both row and column vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
81
diff
changeset
|
4 if isrow(a) |
8e0067aef5b0
Make spdiag accept both row and column vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
81
diff
changeset
|
5 a = a'; |
8e0067aef5b0
Make spdiag accept both row and column vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
81
diff
changeset
|
6 end |
8e0067aef5b0
Make spdiag accept both row and column vectors
Jonatan Werpers <jonatan@werpers.com>
parents:
81
diff
changeset
|
7 |
798 | 8 n = length(a)+abs(i); |
45
b6cfc04e576c
Changed spdiag to be more like matlabs diag.
Jonatan Werpers <jonatan@werpers.com>
parents:
27
diff
changeset
|
9 A = spdiags(a,i,n,n); |
27
97a638f91fb8
Added function spdiag(). Fixed a bunch of bugs in the Wave2dCurve scheme.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
10 end |