问题描述
我正在尝试以一种直观的方式连接六个数据点。常规的plot
命令给了我锯齿状的一行,因为它只有六个数据点。 spline
命令接近我想要的位置。但是,它继续适合前后的线。但是,我希望它从第一个数据点开始,到最后一个数据点结束。此外,我想避免附加图片中显示的颠簸。为此,我需要一个更高阶的多项式。
有人可以像手动进行那样帮助我连接这些数据点吗?不需要通过spline
命令来完成。
最小示例:
clear all,close all,clc
%% Minimal Example
%% Data
x = 2:7;
y = [69,27,3,0.5,0]
%% Using Regular Plot
plot(x,y)
%% Using Spline
hold on
xx = 0:.25:10;
yy = spline(x,y,xx);
plot(x,'o',xx,yy)
解决方法
为了在所需的起点和终点处停止样条,我将xx = 2:.25:7
编辑为所需的边界2至7。我监督了该选项。
为了摆脱颠簸,我用以下yy
编辑了for-loop
。现在,这为我完成了工作。
如果有人知道如何用更弯曲的线连接数据点,我仍然会很感激。谢谢!
clear all,close all,clc
%% Minimal Example
%% Data
x = 2:7;
y = [69,27,3,0.5,0]
%% Using Regular Plot
plot(x,y)
%% Using Spline
hold on
xx = 0:.25:10;
yy = spline(x,y,xx);
i = 1;
xx = 2:.05:7;
yy = spline(x,xx);
for i = 1:length(yy)
if yy(i) < 0.3
idx = i
for idx = idx:length(yy)
yy(idx) = 0.3
idx = idx + 1
end
end
end
plot(xx,yy,'LineWidth',3)