annotate spdiagVariable.m @ 911:f7306f03f77a feature/utux2D

Improve comments and names. Change InterfaceOptions.union to merge.
author Martin Almquist <malmquist@stanford.edu>
date Sat, 24 Nov 2018 15:43:34 -0800
parents 7368affc8f78
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
681
7368affc8f78 Add D2 variable periodic for second order.
Martin Almquist <malmquist@stanford.edu>
parents:
diff changeset
1 function A = spdiagVariable(a,i)
7368affc8f78 Add D2 variable periodic for second order.
Martin Almquist <malmquist@stanford.edu>
parents:
diff changeset
2 default_arg('i',0);
7368affc8f78 Add D2 variable periodic for second order.
Martin Almquist <malmquist@stanford.edu>
parents:
diff changeset
3
7368affc8f78 Add D2 variable periodic for second order.
Martin Almquist <malmquist@stanford.edu>
parents:
diff changeset
4 if isrow(a)
7368affc8f78 Add D2 variable periodic for second order.
Martin Almquist <malmquist@stanford.edu>
parents:
diff changeset
5 a = a';
7368affc8f78 Add D2 variable periodic for second order.
Martin Almquist <malmquist@stanford.edu>
parents:
diff changeset
6 end
7368affc8f78 Add D2 variable periodic for second order.
Martin Almquist <malmquist@stanford.edu>
parents:
diff changeset
7
7368affc8f78 Add D2 variable periodic for second order.
Martin Almquist <malmquist@stanford.edu>
parents:
diff changeset
8 n = length(a)+abs(i);
7368affc8f78 Add D2 variable periodic for second order.
Martin Almquist <malmquist@stanford.edu>
parents:
diff changeset
9
7368affc8f78 Add D2 variable periodic for second order.
Martin Almquist <malmquist@stanford.edu>
parents:
diff changeset
10 if i > 0
7368affc8f78 Add D2 variable periodic for second order.
Martin Almquist <malmquist@stanford.edu>
parents:
diff changeset
11 a = [sparse(i,1); a];
7368affc8f78 Add D2 variable periodic for second order.
Martin Almquist <malmquist@stanford.edu>
parents:
diff changeset
12 elseif i < 0
7368affc8f78 Add D2 variable periodic for second order.
Martin Almquist <malmquist@stanford.edu>
parents:
diff changeset
13 a = [a; sparse(abs(i),1)];
7368affc8f78 Add D2 variable periodic for second order.
Martin Almquist <malmquist@stanford.edu>
parents:
diff changeset
14 end
7368affc8f78 Add D2 variable periodic for second order.
Martin Almquist <malmquist@stanford.edu>
parents:
diff changeset
15
7368affc8f78 Add D2 variable periodic for second order.
Martin Almquist <malmquist@stanford.edu>
parents:
diff changeset
16 A = spdiags(a,i,n,n);
7368affc8f78 Add D2 variable periodic for second order.
Martin Almquist <malmquist@stanford.edu>
parents:
diff changeset
17 end