我是一名试图学习如何使用 Octave 的学生,我需要帮助在此处绘制这个东西我想要绘制的函数
代码如下所示:
x2 = 0:0.1:50;
y2 = power((1+(2.*x2/(exp(0.5.*x2)+(x2.^2)))), 0.5);
plot(x2, y2, '-b');
感觉它应该没有问题地绘制,但图中的情节似乎完全是空的,我无法理解为什么会发生这种情况。很想知道我做错了什么
我是一名试图学习如何使用 Octave 的学生,我需要帮助在此处绘制这个东西我想要绘制的函数
代码如下所示:
x2 = 0:0.1:50;
y2 = power((1+(2.*x2/(exp(0.5.*x2)+(x2.^2)))), 0.5);
plot(x2, y2, '-b');
感觉它应该没有问题地绘制,但图中的情节似乎完全是空的,我无法理解为什么会发生这种情况。很想知道我做错了什么
如果您检查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');