Mercurial > octave
changeset 21313:4dda463ca576
maint: merge stable to default.
author | Rik <rik@octave.org> |
---|---|
date | Sat, 20 Feb 2016 12:08:24 -0800 |
parents | 718332a58d35 (current diff) 7a91166b1d09 (diff) |
children | a4235a7eeb2c |
files | scripts/polynomial/spline.m |
diffstat | 1 files changed, 10 insertions(+), 21 deletions(-) [+] |
line wrap: on
line diff
--- a/scripts/polynomial/spline.m Thu Feb 11 19:59:32 2016 +1100 +++ b/scripts/polynomial/spline.m Sat Feb 20 12:08:24 2016 -0800 @@ -128,11 +128,6 @@ 3 * (a(1,:) - a(2,:)) / (x(2) - x(1)) ^ 2; b = dfs; a = a(1,:); - - d = d(1:n-1,:); - c = c(1:n-1,:); - b = b(1:n-1,:); - a = a(1:n-1,:); else g(1,:) = (a(2,:) - a(1,:)) / h(1) - dfs; g(2:n-1,:) = (a(3:n,:) - a(2:n-1,:)) ./ h(2:n-1) - ... @@ -140,14 +135,14 @@ g(n,:) = dfe - (a(n,:) - a(n-1,:)) / h(n-1); c = spdiags ([[h/6;0],[h(1)/3;(h(1:n-2)+h(2:n-1))/3;h(n-1)/3],[0;h/6]],... [-1,0,1],n,n) \ (g / 2); - b(1:n-1,:) = diff (a) ./ h(1:n-1, idx) ... - - h(1:n-1,idx) / 3 .* (c(2:n,:) + 2 * c(1:n-1,:)); + b = diff (a) ./ h(1:n-1, idx) ... + - h(1:n-1,idx) / 3 .* (c(2:n,:) + 2 * c(1:n-1,:)); d = diff (c) ./ (3 * h(1:n-1, idx)); - d = d(1:n-1,:); - c = c(1:n-1,:); - b = b(1:n-1,:); - a = a(1:n-1,:); + d = d.'(:); + c = c(1:n-1,:).'(:); + b = b.'(:); + a = a(1:n-1,:).'(:); endif else @@ -156,8 +151,6 @@ a = a(1,:); d = []; c = []; - b = b(1:n-1,:); - a = a(1:n-1,:); elseif (n == 3) n = 2; @@ -170,10 +163,6 @@ a = a(1,:); d = []; x = [min(x), max(x)]; - - c = c(1:n-1,:); - b = b(1:n-1,:); - a = a(1:n-1,:); else g = zeros (n-2, columns (a)); @@ -213,10 +202,10 @@ - h(1:n-1, idx) / 3 .* (c(2:n,:) + 2 * c(1:n-1,:)); d = diff (c) ./ (3 * h(1:n-1, idx)); - d = d(1:n-1,:);d = d.'(:); - c = c(1:n-1,:);c = c.'(:); - b = b(1:n-1,:);b = b.'(:); - a = a(1:n-1,:);a = a.'(:); + d = d.'(:); + c = c(1:n-1,:).'(:); + b = b.'(:); + a = a(1:n-1,:).'(:); endif endif