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

luc*_*tti -2 matlab plot

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

先感谢您!

以下是我试图以最简单的方式实现的示例 一个例子

hba*_*rts 6

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

p =
   35.0000         0
   40.0000    0.2000
   45.0000         0
Run Code Online (Sandbox Code Playgroud)

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

x = min(p(:,1)) : 1 : max(p(:,1))
Run Code Online (Sandbox Code Playgroud)

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

x =
    35    36    37    38    39    40    41    42    43    44    45
Run Code Online (Sandbox Code Playgroud)

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

y = interp1(p(:,1), p(:,2), x)
Run Code Online (Sandbox Code Playgroud)

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

plot(x, y, 'ok')
Run Code Online (Sandbox Code Playgroud)

结果