Matlab:删除第一个和最后一个点之间的线

Posted

技术标签:

【中文标题】Matlab:删除第一个和最后一个点之间的线【英文标题】:Matlab: remove line between first and last Points 【发布时间】:2015-07-14 18:19:18 【问题描述】:

我正在绘制数据与时间的关系,但是有一条线连接第一个点和最后一个点,我该如何摆脱这条线?

相关代码:

data = load('AMT_CO2.txt');
time = data(:,1);
avg = data(:,2);
plot(time, avg);

情节(时间(1:结束-1),平均(1:结束-1))

请注意,这里已经提出了这个问题: Line between first and last point 但是,这没有答案

还有一个问题:Removing the line between two specific data points in Matlab 但是,我尝试不绘制最后一点并且得到相同的线

【问题讨论】:

@manateejoe Erman Gungor 的回答是正确的做法。检查您的数据以查看它是否在末尾重复 (x,y) 对。 Matlab 不会随意决定在这样的数据之间划清界限。您的数据中必须有一个位置,下一个数据点又回到了开头。 【参考方案1】:

或者你可以对时间向量进行排序。

[time, dum] = sort(time); avg = avg(dum);

或者删除重复值:

[time, dum, ~] = unique(time); avg = avg(dum);

但是,请小心,因为重复点可能是由数据损坏或类似原因引起的。

【讨论】:

谢谢! [time,dum] = sort(time); avg = avg(dum) 工作

以上是关于Matlab:删除第一个和最后一个点之间的线的主要内容,如果未能解决你的问题,请参考以下文章

使用 Firebase Storage 和 Firebase Firestore 创建离线第一个应用程序的最佳方法是啥? #AskFirebase

如果存在,则从字符串中删除第一个和最后一个点

UVa 1660 电视网络(点连通度+最小割最大流+Dinic)

如何提取两个点之间的文本

模式重复时如何删除两个模式之间的线(删除包括模式)

matlab中怎样让3d图中的线刚好在整数坐标上,比如10,20,30..100这些点上