Problem with cubic spline
3 ビュー (過去 30 日間)
古いコメントを表示
I got this message:
Unable to perform assignment because the left and right sides have a different number of elements.
Error in NCS_Construct (line 16)
h(1:5) = x(2:n)-x(1:n-1) % lengths of intervals [x_i, x_{i+1}]
Code
x = [0, 1, 2, 3]; % x coordinates of the data points
n = length(x);
f = inline('-exp(-4*x)+exp(-.5*x)');
%f = inline('(x-3).^2'); % the actual function that the data points come from.
y = f(x)
% Use the colon command (:) to construct vectors h and r
% that contain h_i and r_i as components
h(1:5) = x(2:n)-x(1:n-1) % lengths of intervals [x_i, x_{i+1}]
r(1:5) = y(2:n)-y(1:n-1) % differences y_{i+1}-y_i
% Define A to be the zero matrix of size nxn
A = zeros(n);
% Construct A given in (1b) for the natural cubic spline.
% You will have to change this for the clamped cubic spline
A(1,1) = 1; %CHANGE THIS FOR THE CLAMPED CUBIC SPLINE
A(2:n-1, 1:n-2) = diag(h(1:3));
A(2:n-1, 2:n-1) = A(2:n-1, 2:n-1)+diag(2.0*(h(1:n-2)+h(2:n-1)));
A(2:n-1, 3:n) = A(2:n-1, 3:n)+diag(h(2:n-1));
0 件のコメント
回答 (1 件)
John D'Errico
2019 年 5 月 29 日
THINK! What is n?
x = [0, 1, 2, 3]; % x coordinates of the data points
n = length(x);
n is 4.
Then what do you do?
h(1:5) = x(2:n)-x(1:n-1) % lengths of intervals [x_i, x_{i+1}]
How long is the vector 1:5? What was the error message? How many elements are on the right hand side of the equality? (Hint: 4)
Now read the error message again.
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Splines についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!