Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function yi = SplineC2natural(x, y, xi)
- n = length(x);
- for i=1:n
- a(i)=y(i);
- if(i < n)
- h(i)=x(i+1)-x(i);
- endif
- endfor
- A = zeros(n, n);
- for i=2:n-1
- A(i,i-1) = h(i-1);
- A(i,i) = 2*(h(i-1)+h(i));
- A(i,i+1) = h(i);
- endfor
- A(1,1) = 1;
- A(n+1, n) = 1;
- B = zeros(n+1,1);
- for i=2:n-2
- B(i)=3*(a(i+1)-a(i))/h(i) - 3*(a(i) - a(i-1))/h(i-1);
- endfor
- c = A\B;
- length(c)
- length(a)
- length(h)
- for i=1:n-1
- b(i) = (a(i+1)-a(i))/h(i) - h(i)/3*(2*c(i) + c(i+1));
- d(i)=(c(i+1)-c(i))/(3*h(i));
- endfor
- for i=1:n-1
- if (xi >= x(i) && xi <= x(i+1))
- yi =a(i)+b(i)*(xi-x(i))+c(i)*(xi-x(i))^2+d(i)*(xi-x(i))^3;
- endif
- endfor
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement