如何在Matlab中绘制两个给定点之间的n点离散段?

时间:2016-01-12 10:20:40

标签: matlab plot

考虑到两点,在Matlab中绘制最佳绘图方式的是什么?这些点是极端的n点离散段? 如果我必须绘制一系列像这样的离散段呢?

提前谢谢!

以下是我尝试以最简单的方式实现的示例 An example

1 个答案:

答案 0 :(得分:6)

假设您的积分以时尚p = [35,0; 40,0.2; 45,0]存储,即

p =
   35.0000         0
   40.0000    0.2000
   45.0000         0

然后,您可以通过查找x坐标的最小值和最大值来为所有x值创建数组。这里,x坐标是p的第一列,即p(:,1)。您可以使用colon operator :

创建x数组
x = min(p(:,1)) : 1 : max(p(:,1))

中间的1是步长。对于您的示例,这将创建数组

x =
    35    36    37    38    39    40    41    42    43    44    45

现在,您可以使用interp1函数线性插值所有y值。默认情况下,这会进行线性插值。因此语法是

y = interp1(p(:,1), p(:,2), x)

最后,您可以使用plot绘制向量xy。如果您只想打印圆圈,请使用'o'作为LineSpec说明符。要使用直线连接圆圈,请使用'-o'。有一个广泛的选项列表here。您还可以将线条/标记的颜色添加到此格式规范中。黑色圆圈为'ok'

plot(x, y, 'ok')

result