如何在 Matlab 中采样绘图?

How to sample a plot in Matlab?

MATLAB 中的绘图如下所示:

生成这个的代码非常简单:

 y = [0 18 450];
 x = [0 5.3 6.575];
 plot(x,y);

我怎么知道这个图上 119 个等距离散点的值?

在简单的 MATLAB 绘图中,点通过简单的线性插值连接在一起。简单地说,在每对点之间画一条直线。除了用于绘制点的那些点之外,您无法从图表中实际获得这些点(至少不容易......)。

但是,如果您确实希望从上述 4 个点的集合中 理论上 获得等间隔的 119 个点,则可以使用 interp1 函数来这样做:

y = [0 18 450];
x = [0 5.3 6.575]
yy = interp1(x, y, linspace(min(x),max(x),119), 'linear');

interp1 在给定一组由 xy 点定义的关键点和一组 x 点,用于在关键 x 点之间进行插值,以生成存储在 yy 中的插值 y 点。 linspace 在这种情况下生成一个线性增加的数组,从 x 中的最小值到 x 中的最大值,其中有 119 个点。

这是一个 运行 数据示例:

>> format compact;
>> y = [0 18 450]; 
>> x = [0 5.3 6.575];
>> yy = interp1(x, y, linspace(min(x),max(x),119), 'linear');
>> yy
yy =
  Columns 1 through 8
         0    0.1892    0.3785    0.5677    0.7570    0.9462    1.1354    1.3247
  Columns 9 through 16
    1.5139    1.7031    1.8924    2.0816    2.2709    2.4601    2.6493    2.8386
  Columns 17 through 24
    3.0278    3.2171    3.4063    3.5955    3.7848    3.9740    4.1633    4.3525
  Columns 25 through 32
    4.5417    4.7310    4.9202    5.1094    5.2987    5.4879    5.6772    5.8664
  Columns 33 through 40
    6.0556    6.2449    6.4341    6.6234    6.8126    7.0018    7.1911    7.3803
  Columns 41 through 48
    7.5696    7.7588    7.9480    8.1373    8.3265    8.5157    8.7050    8.8942
  Columns 49 through 56
    9.0835    9.2727    9.4619    9.6512    9.8404   10.0297   10.2189   10.4081
  Columns 57 through 64
   10.5974   10.7866   10.9759   11.1651   11.3543   11.5436   11.7328   11.9220
  Columns 65 through 72
   12.1113   12.3005   12.4898   12.6790   12.8682   13.0575   13.2467   13.4360
  Columns 73 through 80
   13.6252   13.8144   14.0037   14.1929   14.3822   14.5714   14.7606   14.9499
  Columns 81 through 88
   15.1391   15.3283   15.5176   15.7068   15.8961   16.0853   16.2745   16.4638
  Columns 89 through 96
   16.6530   16.8423   17.0315   17.2207   17.4100   17.5992   17.7885   17.9777
  Columns 97 through 104
   34.6540   53.5334   72.4128   91.2921  110.1715  129.0508  147.9302  166.8096
  Columns 105 through 112
  185.6889  204.5683  223.4477  242.3270  261.2064  280.0857  298.9651  317.8445
  Columns 113 through 119
  336.7238  355.6032  374.4826  393.3619  412.2413  431.1206  450.0000