【问题标题】:Plotting an exponential function in matlab在matlab中绘制指数函数
【发布时间】:2021-02-22 11:26:28
【问题描述】:

我想为这种语言培养一些直觉。特别是关于在某个间隔上绘制函数。这是我正在尝试解决的一个具体示例。在闭区间 [-2,2] 上绘制 exp(x)。我认为这里 exp(x) 是 e^x 的 Matlab 符号。这是基于我刚刚阅读的指南的脚本:

x = [ -2 , 2 ]; y = exp(x); 绘图(x,y)

结果不是指数曲线,而是直线。这个脚本有什么问题?而且,如果有人可以为此推荐一个好的指南,我将非常感激。我发现的谷歌结果只有有效的例子。

【问题讨论】:

  • 这个脚本没有问题,但是x = [-2, 2] 会创建一个包含两个数据点的数组。而您想要更多数据点,x = -2:0.1:2 将创建一个介于 -2 和 2 之间的值向量,步长为 0.1
  • 尝试使用plot( x, y, 'o-' ) 来查看这些点以及连接它们的线,以使 rinkert 的评论明显

标签: charts matlab


【解决方案1】:

调整函数的绘制点数(样本)的两种方法是指定点之间的间隔或要绘制的点数。 plot() 函数将绘制向量xy,这将绘制等于向量x 长度的点数。类似于用线条连接的 Excel 工作表散点图。

设置绘图点之间的间隔

X_Minimum = -2;
X_Maximum = 2;
Plotting_Interval = 0.25;

x = (X_Minimum: Plotting_Interval: X_Maximum);
y = exp(x); 

plot(x,y,'o-');
title(num2str(Plotting_Interval) + " Interval Between Points");

设置绘图点数

X_Minimum = -2;
X_Maximum = 2;
Number_Of_Points = 18;

x = linspace(X_Minimum,X_Maximum,Number_Of_Points);
y = exp(x); 

plot(x,y,'o-');
title(num2str(Number_Of_Points) + " Points Plotted");

使用 MATLAB R2019b 运行

【讨论】:

    【解决方案2】:

    这是因为你只在函数 plot():(-2,exp(-2)),(2,exp(2)) 中输入了两个点 .在matlab中,plot(x,y)的x &y是你所拥有的点的向量,而不是它们的间隔。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-03-18
      • 1970-01-01
      • 1970-01-01
      • 2012-04-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多