Tolerance for Spline Interpolat​ion/Deriva​tive?

2 views (last 30 days)
Mat
Mat on 21 Nov 2012
I've been working with fitting a curve and taking the derivative of it through spline interpolation and now I am interested in finding the tolerance of the derivative I have taken.Below is the code I used, along with some example data.
X = [500.04 500.24 500.45 500.66 500.87 501.07 501.28 501.49 501.69 501.9 502.11 502.31 502.52 502.73 502.93 503.14 503.35 503.55 503.76 503.97 504.17 504.38 504.59 504.79 505 505.21 505.41 505.62 505.82 506.03 506.24 506.44 506.65 506.86 507.06 507.27 507.48 507.68 507.89 508.1 508.3 508.51 508.71 508.92 509.13 509.33 509.54 509.75 509.95 510.16 510.36 510.57 510.78 510.98 511.19 511.4 511.6 511.81 512.01 512.22 512.43 512.63 512.84 513.04 513.25 513.46 513.66 513.87 514.07 514.28 514.49 514.69 514.9 515.1 515.31 515.52 515.72 515.93 516.13 516.34 516.54 516.75 516.96 517.16 517.37 517.57 517.78 517.98 518.19 518.4 518.6 518.81 519.01 519.22 519.42 519.63 519.84 520.04 520.25 520.45 520.66 520.86 521.07 521.27 521.48 521.68 521.89 522.1 522.3 522.51 522.71 522.92 523.12 523.33 523.53 523.74 523.94 524.15 524.35 524.56 524.76 524.97 525.18 525.38 525.59 525.79 526 526.2 526.41 526.61 526.82 527.02 527.23 527.43 527.64 527.84 528.05 528.25 528.46 528.66 528.87 529.07 529.28 529.48 529.69 529.89 530.1 530.3 530.51 530.71 530.92 531.12 531.33 531.53 531.74 531.94 532.14 532.35 532.55 532.76 532.96 533.17 533.37 533.58 533.78 533.99 534.19 534.4 534.6 534.81 535.01 535.21 535.42 535.62 535.83 536.03 536.24 536.44 536.65 536.85 537.06 537.26 537.46 537.67 537.87 538.08 538.28 538.49 538.69 538.89 539.1 539.3 539.51 539.71 539.92 540.12 540.32 540.53 540.73 540.94 541.14 541.35 541.55 541.75 541.96 542.16 542.37 542.57 542.77 542.98 543.18 543.39 543.59 543.79 544 544.2 544.41 544.61 544.81 545.02 545.22 545.43 545.63 545.83 546.04 546.24 546.44 546.65 546.85 547.06 547.26 547.46 547.67 547.87 548.07 548.28 548.48 548.69 548.89 549.09 549.3 549.5 549.7 549.91 550.11 550.31 550.52 550.72 550.92 551.13 551.33 551.53 551.74 551.94 552.15 552.35 552.55 552.76 552.96 553.16 553.37 553.57 553.77 553.98 554.18 554.38 554.59 554.79 554.99 555.19 555.4 555.6 555.8 556.01 556.21 556.41 556.62 556.82 557.02 557.23 557.43 557.63 557.84 558.04 558.24 558.44 558.65 558.85 559.05 559.26 559.46 559.66 559.86 560.07 560.27 560.47 560.68 560.88 561.08 561.28 561.49 561.69 561.89 562.1 562.3 562.5 562.7 562.91 563.11 563.31 563.51 563.72 563.92 564.12 564.32 564.53 564.73 564.93 565.13 565.34 565.54 565.74 565.94 566.15 566.35 566.55 566.75 566.96 567.16 567.36 567.56 567.77 567.97 568.17 568.37 568.58 568.78 568.98 569.18 569.38 569.59 569.79 569.99 570.19 570.4 570.6 570.8 571 571.2 571.41 571.61 571.81 572.01 572.21 572.42 572.62 572.82 573.02 573.22 573.43 573.63 573.83 574.03 574.23 574.44 574.64 574.84 575.04 575.24 575.44 575.65 575.85 576.05 576.25 576.45 576.66 576.86 577.06 577.26 577.46 577.66 577.87 578.07 578.27 578.47 578.67 578.87 579.07 579.28 579.48 579.68 579.88 580.08 580.28 580.49 580.69 580.89 581.09 581.29 581.49 581.69 581.89 582.1 582.3 582.5 582.7 582.9 583.1 583.3 583.51 583.71 583.91 584.11 584.31 584.51 584.71 584.91 585.11 585.32 585.52 585.72 585.92 586.12 586.32 586.52 586.72 586.92 587.12 587.33 587.53 587.73 587.93 588.13 588.33 588.53 588.73 588.93 589.13 589.33 589.54 589.74 589.94 590.14 590.34 590.54 590.74 590.94 591.14 591.34 591.54 591.74 591.94 592.14 592.35 592.55 592.75 592.95 593.15 593.35 593.55 593.75 593.95 594.15 594.35 594.55 594.75 594.95 595.15 595.35 595.55 595.75 595.95 596.15 596.35 596.55 596.75 596.96 597.16 597.36 597.56 597.76 597.96 598.16 598.36 598.56 598.76 598.96 599.16 599.36 599.56 599.76 599.96 600.16 ];
Y = [0.8558 0.8583 0.8609 0.8635 0.8662 0.8686 0.8713 0.8739 0.8764 0.879 0.8816 0.8841 0.8867 0.8893 0.8917 0.8943 0.8969 0.8993 0.9019 0.9044 0.9069 0.9094 0.9119 0.9143 0.9168 0.9193 0.9216 0.924 0.9264 0.9288 0.9312 0.9334 0.9358 0.9381 0.9404 0.9427 0.9449 0.9471 0.9493 0.9515 0.9536 0.9558 0.9578 0.9599 0.962 0.964 0.966 0.968 0.9699 0.9718 0.9736 0.9755 0.9774 0.9791 0.9809 0.9826 0.9843 0.9859 0.9875 0.9891 0.9907 0.9921 0.9936 0.995 0.9964 0.9978 0.9991 1 1.002 1.003 1.004 1.005 1.006 1.007 1.008 1.009 1.01 1.011 1.011 1.012 1.013 1.013 1.014 1.014 1.015 1.015 1.016 1.016 1.016 1.016 1.016 1.016 1.016 1.016 1.016 1.016 1.016 1.016 1.015 1.015 1.015 1.014 1.014 1.013 1.012 1.012 1.011 1.01 1.009 1.008 1.007 1.006 1.005 1.004 1.003 1.002 1 0.9989 0.9975 0.996 0.9945 0.9929 0.9913 0.9896 0.9878 0.9861 0.9842 0.9824 0.9804 0.9784 0.9763 0.9743 0.9721 0.97 0.9677 0.9655 0.9631 0.9608 0.9584 0.956 0.9535 0.951 0.9484 0.9458 0.9431 0.9405 0.9377 0.9351 0.9322 0.9295 0.9265 0.9237 0.9207 0.9178 0.9148 0.9118 0.9089 0.9057 0.9027 0.8995 0.8964 0.8931 0.89 0.8866 0.8834 0.8801 0.8768 0.8734 0.8701 0.8666 0.8633 0.8599 0.8564 0.853 0.8494 0.8459 0.8423 0.8388 0.8351 0.8316 0.8279 0.8244 0.8208 0.8171 0.8135 0.8097 0.8061 0.8023 0.7987 0.795 0.7912 0.7876 0.7837 0.7801 0.7762 0.7725 0.7688 0.765 0.7613 0.7574 0.7537 0.7498 0.7461 0.7424 0.7385 0.7348 0.731 0.7273 0.7236 0.7197 0.716 0.7121 0.7084 0.7047 0.7009 0.6972 0.6934 0.6897 0.686 0.6822 0.6785 0.6747 0.6711 0.6675 0.6637 0.6601 0.6565 0.6527 0.6491 0.6453 0.6418 0.6382 0.6345 0.631 0.6275 0.6238 0.6203 0.6166 0.6131 0.6097 0.6061 0.6026 0.5992 0.5956 0.5922 0.5888 0.5853 0.5819 0.5786 0.5751 0.5718 0.5685 0.5651 0.5618 0.5584 0.5551 0.5519 0.5486 0.5454 0.5422 0.5389 0.5357 0.5326 0.5294 0.5263 0.5232 0.52 0.517 0.5139 0.5109 0.5078 0.5048 0.5019 0.4988 0.4959 0.493 0.4899 0.4871 0.4842 0.4813 0.4784 0.4756 0.4727 0.47 0.4672 0.4645 0.4617 0.459 0.4563 0.4535 0.4509 0.4483 0.4457 0.4429 0.4404 0.4378 0.4351 0.4326 0.4301 0.4276 0.425 0.4226 0.4201 0.4176 0.4152 0.4128 0.4104 0.4079 0.4056 0.4032 0.4009 0.3985 0.3962 0.3939 0.3917 0.3893 0.3871 0.3849 0.3827 0.3804 0.3782 0.3761 0.374 0.3717 0.3696 0.3675 0.3655 0.3633 0.3613 0.3592 0.3572 0.3551 0.3531 0.3512 0.3492 0.3472 0.3453 0.3433 0.3414 0.3396 0.3376 0.3357 0.3339 0.3321 0.3302 0.3283 0.3266 0.3248 0.323 0.3212 0.3194 0.3177 0.3159 0.3142 0.3124 0.3108 0.3091 0.3074 0.3058 0.304 0.3024 0.3008 0.2992 0.2976 0.2959 0.2943 0.2927 0.2912 0.2896 0.2881 0.2865 0.285 0.2835 0.282 0.2805 0.279 0.2775 0.2761 0.2746 0.2732 0.2718 0.2703 0.2689 0.2675 0.2662 0.2648 0.2634 0.2621 0.2607 0.2594 0.2581 0.2567 0.2554 0.2542 0.2528 0.2516 0.2503 0.249 0.2478 0.2466 0.2454 0.2441 0.2429 0.2417 0.2405 0.2393 0.2382 0.237 0.2359 0.2347 0.2335 0.2324 0.2313 0.2302 0.2291 0.228 0.2269 0.2258 0.2247 0.2237 0.2226 0.2216 0.2205 0.2195 0.2185 0.2175 0.2164 0.2154 0.2144 0.2134 0.2124 0.2114 0.2104 0.2095 0.2085 0.2075 0.2066 0.2056 0.2047 0.2037 0.2028 0.2019 0.2009 0.2 0.1991 0.1982 0.1973 0.1964 0.1955 0.1947 0.1938 0.1929 0.1921 0.1912 0.1903 0.1895 0.1886 0.1878 0.187 0.1861 0.1853 0.1845 0.1837 0.1829 0.1821 0.1813 0.1805 0.1797 0.179 0.1782 0.1774 0.1767 0.1759 0.1752 0.1744 0.1737 0.1729 0.1722 0.1715 0.1708 0.17 0.1693 0.1686 0.1679 0.1673 0.1666 0.1659 0.1652 0.1646 0.1639 0.1632 0.1626 0.1619 ];
disp('INPUTS')
disp('The x data')
X
disp('The y data')
Y
S=spline(X,Y);
M=diag(3:-1:1,1);
S1=S;
S1.coefs = S1.coefs*M
x = linspace(X(1),X(end),10001);
plot(x,ppval(S,x),'r')
plot(x,ppval(S1,x),'g')
plot(X,Y,'m')
legend({'Spline','First Derivative'})
Is this possible or is this just a hopeless cause? Thanks

Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!