It is difficult to control the range
Afficher commentaires plus anciens
Hellow there. I want to connect functions with different scopes, but it doesn't work. Where did I go wrong? Have a nice day everyone
here is my code 

clc; clear all; close all;
A = readmatrix('w10_data.xlsx','Sheet','Sheet1');
x = A(:,1);
fx = A(:,2);
%1D linear interpolation
xspace = [];
px = [];
for i = 1:3
x_segment = linspace(x(i), x(i+1),101);
p_segment = fx(i) + (fx(i+1) - fx(i))/(x(i+1)-x(i))*(x_segment-x(i));
xspace = [xspace x_segment(1:end-1)];
px = [px p_segment(1:end-1)];
end
% Polynomial interpolation
xspace2 = 4:0.01:7;
Lx = zeros(1,length(xspace2));
for j = 1:size(x,1)
lj = 1;
for m = 1:size(x,1)
if m == j
continue
end
lj = lj .*(xspace2 -x(m))/((x(j)-x(m)));
end
Lx = Lx + fx(j)*lj;
end
% Cubic spline interpolation
xspace3 = 7:0.01:10;
S = spline(x(7:end),fx(7:end),xspace3);
%S = spline(x,fx,xspace2);
figure(1)
scatter(x,fx,'k','filled'); hold on;
plot(xspace,px,'b'); hold on;
plot(xspace2,Lx,'r'); hold on;
plot(xspace2,S,'g'); hold on;
xlim([0 12]);
ylim([0 20]);
Réponse acceptée
Plus de réponses (1)
Catégories
En savoir plus sur Spline Postprocessing dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
