1

我是一名试图学习如何使用 Octave 的学生,我需要帮助在此处绘制这个东西我想要绘制的函数

代码如下所示:

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

感觉它应该没有问题地绘制,但图中的情节似乎完全是空的,我无法理解为什么会发生这种情况。很想知道我做错了什么

4

1 回答 1

3

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

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

在你的情况下/,原来是罪魁祸首。
来自Octave,算术运算(重点是我的):

x / y
正确的划分。这在概念上等同于表达式(inv (y') * x')',但它的计算没有形成 的倒数y'如果系统不是方的,或者系数矩阵是奇异的,则计算最小范数解

x ./ y
逐元素右除。

因此,替换/./

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

阴谋

于 2021-03-13T10:38:16.967 回答