Mercurial > octave-nkf
comparison scripts/polynomial/spline.m @ 10549:95c3e38098bf
Untabify .m scripts
author | Rik <code@nomad.inbox5.com> |
---|---|
date | Fri, 23 Apr 2010 11:28:50 -0700 |
parents | 31900e17b5f5 |
children | c66a4657d764 |
comparison
equal
deleted
inserted
replaced
10548:479536c5bb10 | 10549:95c3e38098bf |
---|---|
123 - 3 / 2 * (3 * (a(2,:) - a(1,:)) / h(1) - dfs); | 123 - 3 / 2 * (3 * (a(2,:) - a(1,:)) / h(1) - dfs); |
124 g(n-2,:) = 3 / 2 * (3 * (a(n,:) - a(n-1,:)) / h(n-1) - dfe) ... | 124 g(n-2,:) = 3 / 2 * (3 * (a(n,:) - a(n-1,:)) / h(n-1) - dfe) ... |
125 - 3 * (a(n-1,:) - a(n-2,:)) / h(n-2); | 125 - 3 * (a(n-1,:) - a(n-2,:)) / h(n-2); |
126 | 126 |
127 c(2:n-1,:) = spdiags ([[e(:); 0], dg, [0; e(:)]], | 127 c(2:n-1,:) = spdiags ([[e(:); 0], dg, [0; e(:)]], |
128 [-1, 0, 1], n-2, n-2) \ g; | 128 [-1, 0, 1], n-2, n-2) \ g; |
129 endif | 129 endif |
130 | 130 |
131 c(1,:) = (3 / h(1) * (a(2,:) - a(1,:)) - 3 * dfs | 131 c(1,:) = (3 / h(1) * (a(2,:) - a(1,:)) - 3 * dfs |
132 - c(2,:) * h(1)) / (2 * h(1)); | 132 - c(2,:) * h(1)) / (2 * h(1)); |
133 c(n,:) = - (3 / h(n-1) * (a(n,:) - a(n-1,:)) - 3 * dfe | 133 c(n,:) = - (3 / h(n-1) * (a(n,:) - a(n-1,:)) - 3 * dfe |
134 + c(n-1,:) * h(n-1)) / (2 * h(n-1)); | 134 + c(n-1,:) * h(n-1)) / (2 * h(n-1)); |
135 b(1:n-1,:) = diff (a) ./ h(1:n-1, idx) ... | 135 b(1:n-1,:) = diff (a) ./ h(1:n-1, idx) ... |
136 - h(1:n-1,idx) / 3 .* (c(2:n,:) + 2 * c(1:n-1,:)); | 136 - h(1:n-1,idx) / 3 .* (c(2:n,:) + 2 * c(1:n-1,:)); |
137 d = diff (c) ./ (3 * h(1:n-1, idx)); | 137 d = diff (c) ./ (3 * h(1:n-1, idx)); |
138 | 138 |
139 else | 139 else |
140 | 140 |
141 g = zeros (n-2, columns (a)); | 141 g = zeros (n-2, columns (a)); |
142 g(1,:) = 3 / (h(1) + h(2)) ... | 142 g(1,:) = 3 / (h(1) + h(2)) ... |
143 * (a(3,:) - a(2,:) - h(2) / h(1) * (a(2,:) - a(1,:))); | 143 * (a(3,:) - a(2,:) - h(2) / h(1) * (a(2,:) - a(1,:))); |
144 g(n-2,:) = 3 / (h(n-1) + h(n-2)) ... | 144 g(n-2,:) = 3 / (h(n-1) + h(n-2)) ... |
145 * (h(n-2) / h(n-1) * (a(n,:) - a(n-1,:)) - (a(n-1,:) - a(n-2,:))); | 145 * (h(n-2) / h(n-1) * (a(n,:) - a(n-1,:)) - (a(n-1,:) - a(n-2,:))); |
146 | 146 |
147 if (n > 4) | 147 if (n > 4) |
148 | 148 |
149 g(2:n - 3,:) = 3 * diff (a(3:n-1,:)) ./ h(3:n-2,idx) ... | 149 g(2:n - 3,:) = 3 * diff (a(3:n-1,:)) ./ h(3:n-2,idx) ... |
150 - 3 * diff (a(2:n-2,:)) ./ h(2:n - 3,idx); | 150 - 3 * diff (a(2:n-2,:)) ./ h(2:n - 3,idx); |
155 | 155 |
156 ldg = udg = h(2:n-2); | 156 ldg = udg = h(2:n-2); |
157 udg(1) = udg(1) - h(1); | 157 udg(1) = udg(1) - h(1); |
158 ldg(n - 3) = ldg(n-3) - h(n-1); | 158 ldg(n - 3) = ldg(n-3) - h(n-1); |
159 c(2:n-1,:) = spdiags ([[ldg(:); 0], dg, [0; udg(:)]], | 159 c(2:n-1,:) = spdiags ([[ldg(:); 0], dg, [0; udg(:)]], |
160 [-1, 0, 1], n-2, n-2) \ g; | 160 [-1, 0, 1], n-2, n-2) \ g; |
161 | 161 |
162 elseif (n == 4) | 162 elseif (n == 4) |
163 | 163 |
164 dg = [h(1) + 2 * h(2); 2 * h(2) + h(3)]; | 164 dg = [h(1) + 2 * h(2); 2 * h(2) + h(3)]; |
165 ldg = h(2) - h(3); | 165 ldg = h(2) - h(3); |
166 udg = h(2) - h(1); | 166 udg = h(2) - h(1); |
167 c(2:n-1,:) = spdiags ([[ldg(:);0], dg, [0; udg(:)]], | 167 c(2:n-1,:) = spdiags ([[ldg(:);0], dg, [0; udg(:)]], |
168 [-1, 0, 1], n-2, n-2) \ g; | 168 [-1, 0, 1], n-2, n-2) \ g; |
169 | 169 |
170 else # n == 3 | 170 else # n == 3 |
171 | 171 |
172 dg = h(1) + 2 * h(2); | 172 dg = h(1) + 2 * h(2); |
173 c(2:n-1,:) = g/dg(1); | 173 c(2:n-1,:) = g/dg(1); |
174 | 174 |
175 endif | 175 endif |
176 | 176 |
177 c(1,:) = c(2,:) + h(1) / h(2) * (c(2,:) - c(3,:)); | 177 c(1,:) = c(2,:) + h(1) / h(2) * (c(2,:) - c(3,:)); |
178 c(n,:) = c(n-1,:) + h(n-1) / h(n-2) * (c(n-1,:) - c(n-2,:)); | 178 c(n,:) = c(n-1,:) + h(n-1) / h(n-2) * (c(n-1,:) - c(n-2,:)); |
179 b = diff (a) ./ h(1:n-1, idx) ... | 179 b = diff (a) ./ h(1:n-1, idx) ... |
180 - h(1:n-1, idx) / 3 .* (c(2:n,:) + 2 * c(1:n-1,:)); | 180 - h(1:n-1, idx) / 3 .* (c(2:n,:) + 2 * c(1:n-1,:)); |
181 d = diff (c) ./ (3 * h(1:n-1, idx)); | 181 d = diff (c) ./ (3 * h(1:n-1, idx)); |
182 | 182 |
183 endif | 183 endif |
184 | 184 |
185 d = d(1:n-1,:); | 185 d = d(1:n-1,:); |