在 Octave 中绘制自然对数函数
Plotting natural logarithm function in Octave
我必须在 Octave 中绘制函数 f(x) = ln(20 - e^x)
,我使用命令:
x = -5:0.1:5;
y = log(20 - exp(x));
plot(x,y)
但是图表不正确,因为当我在 Wolfram Alpha 中检查时它是不一样的。感谢您的帮助!
你在 Octave 中作图 ln(20-e^x)
:
而您放入 Wolfram Alpha 的是 e^x + e^y = 20
,它看起来像这样:
完全相同。这里唯一的区别是,对于 e^x+e^y=20
Wolfram Alpha 仅绘制实数解(蓝线),而对于 ln(20-e^x)
Wolfram Alpha 和 Octave 都绘制了完整的解集,因此包括虚数解(尽管Octave 仅绘制复解的实部。
如果仔细观察,您会发现 x<ln(20)
Wolfram Alpha 中显示的虚部是 0
,而 x>ln(20)
有一个虚部(顺便说一下 y=ln(20)
). Octave 仅绘制实部,因为它在绘制复杂信号时会忽略虚部。只需在您的命令行上检查 whos y
,它会告诉您它是一个复杂的变量。
我在使用 MATLAB,但您的控制台输出应该与此类似:
>> x = -5:0.1:5;
y = log(20 - exp(x));
plot(x,y)
Warning: Imaginary parts of complex X and/or Y arguments ignored
>> whos y
Name Size Bytes Class Attributes
y 1x101 1616 double complex
这告诉您 A) 当您绘制函数时它是一个复杂的信号 B) y
确实是复杂的,因为它应该是 x>ln(20)
.[=24 的值=]
我必须在 Octave 中绘制函数 f(x) = ln(20 - e^x)
,我使用命令:
x = -5:0.1:5;
y = log(20 - exp(x));
plot(x,y)
但是图表不正确,因为当我在 Wolfram Alpha 中检查时它是不一样的。感谢您的帮助!
你在 Octave 中作图 ln(20-e^x)
:
而您放入 Wolfram Alpha 的是 e^x + e^y = 20
,它看起来像这样:
完全相同。这里唯一的区别是,对于 e^x+e^y=20
Wolfram Alpha 仅绘制实数解(蓝线),而对于 ln(20-e^x)
Wolfram Alpha 和 Octave 都绘制了完整的解集,因此包括虚数解(尽管Octave 仅绘制复解的实部。
如果仔细观察,您会发现 x<ln(20)
Wolfram Alpha 中显示的虚部是 0
,而 x>ln(20)
有一个虚部(顺便说一下 y=ln(20)
). Octave 仅绘制实部,因为它在绘制复杂信号时会忽略虚部。只需在您的命令行上检查 whos y
,它会告诉您它是一个复杂的变量。
我在使用 MATLAB,但您的控制台输出应该与此类似:
>> x = -5:0.1:5;
y = log(20 - exp(x));
plot(x,y)
Warning: Imaginary parts of complex X and/or Y arguments ignored
>> whos y
Name Size Bytes Class Attributes
y 1x101 1616 double complex
这告诉您 A) 当您绘制函数时它是一个复杂的信号 B) y
确实是复杂的,因为它应该是 x>ln(20)
.[=24 的值=]