如何在 Octave 中正确绘制这个简单的东西?

How do I plot this simple thing correctly in Octave?

我是一名正在尝试学习如何使用 Octave 的学生,我需要帮助来绘制这里的东西 the function I want to plot

代码如下所示:

x2 = 0:0.1:50;
y2 = power((1+(2.*x2/(exp(0.5.*x2)+(x2.^2)))), 0.5);
plot(x2, y2, '-b');

感觉应该画出来没有问题,但是图中的情节似乎完全是空的,我想不通为什么会这样。很想知道我做错了什么

如果您检查 y2 的值(只需键入 y2 并按回车键),您会发现 y2 是一个数字而不是向量。

为了找出 y2 是单个数字的原因,我们在计算中键入 power((1+(2.*x2/(exp(0.5.*x2)+(x2.^2)))), 0.5) 并逐步删除外部 functions/operators。一旦结果是一个向量,我们就知道最后删除的东西毁了结果。

在你的情况下 / 原来是罪魁祸首。
来自 Octave, Arithmetic Ops(强调我的):

x / y
Right division. This is conceptually equivalent to the expression (inv (y') * x')' but it is computed without forming the inverse of y'. If the system is not square, or if the coefficient matrix is singular, a minimum norm solution is computed.

x ./ y
Element-by-element right division.

因此,将 / 替换为 ./

x2 = 0:0.1:50;
y2 = power(1 + 2 .* x2 ./ (exp(0.5 .* x2) + (x2 .^ 2)), 0.5);
plot(x2, y2, '-b');