0

我正在尝试以一种手动直观的方式连接六个数据点。常规plot命令给了我一条非常锯齿状的线,因为它只有六个数据点。spline命令接近我想要的。然而,它继续适合之前和之后的线。但是,我希望它从第一个数据点开始并以最后一个数据点结束。此外,我想避免附图中显示的凹凸。为此,我需要一个我假设的高阶多项式。

有人可以像手动一样帮助我连接这些数据点吗?它不需要通过spline命令来完成。

最小的例子:

clear all, close all, clc
%% Minimal Example

%% Data
x = 2:7;
y = [69, 27, 3, 0.5, 0, 0]

%% Using Regular Plot
plot(x,y)

%% Using Spline
hold on
xx = 0:.25:10;
yy = spline(x,y,xx);
plot(x,y,'o',xx,yy)

通过绘图和样条连接的数据点

撞

4

1 回答 1

0

为了在所需的开始和结束处停止样条曲线,我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, 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,y,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)
于 2020-09-16T15:00:21.203 回答