gpt4 book ai didi

matlab - 删除图上的冗余点

转载 作者:太空宇宙 更新时间:2023-11-03 20:27:14 24 4
gpt4 key购买 nike

我试图绘制一个具有数百万个点的函数。因此无法绘制该函数,因为它会使我的计算机崩溃。然而,整个情节由“肘部”组成,因为一次不能更改 1 个以上的变量。

考虑以下矩阵

a = [1 2 3 4 4 4 4];
b = [1 1 1 1 2 3 4];

这些点在使用plot(a,b)时做出下图

enter image description here

但是,经过仔细检查,我可以将绘图向量减少到

a = [1 4 4];
b = [1 1 4];

并得到相同的情节。

我的问题是:什么是自动删除每个冗余点的矢量化方法。我可以轻松地遍历并搜索要删除的点,但这会很昂贵。我曾尝试使用 diffcumsum 的组合来执行此操作但无济于事。我在图中只有直线和直角,所以我不必担心 ax+b

形式的任何内容

最佳答案

您可以使用 diff(diff(a))~=0,或等效的 diff(a, 2)~=0,以获得可能更清晰的外观解决方案。无论您将 a 还是 b 插入 diff 函数,这都将起作用。

mat = [true, diff(a, 2)~=0, true];
a(mat)
ans =
1 4 4
b(mat)
ans =
1 1 4

关于matlab - 删除图上的冗余点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53839733/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com