【问题标题】:Plotting complex functions in matlab在matlab中绘制复杂的函数
【发布时间】:2018-03-10 13:45:54
【问题描述】:

我有以下代码

x = linspace(-pi, pi, 1e3);
y = sqrt((x).^(1/2));
plot(x, real(y));
plot(x, imag(y));

实部和虚部在 x=-1 处的值都是 0.7071 (sqrt(0.5)。为什么不是 0(实部)和 1(虚部)?当我输入此代码时:

real((-1)^(1/2))
imag((-1)^(1/2))

这给了我预期的 0(真实)和 1(虚构)。

任何帮助将不胜感激。 谢谢,

【问题讨论】:

    标签: matlab plot complex-numbers


    【解决方案1】:

    注意sqrt((x).^(1/2)) = x.^(1/4)

    不是(-i)^4 = i^4 = -1*-1 = 1以来的所有想象。考虑在复平面上发生了什么,您应该能够得出结论,如果y^4 = -1y = exp(i*(2*N-1)*pi/4) 其中N 是任何整数。

    这导致y 的 4 个独特解决方案是+/-sqrt(2)/2 +/- i*sqrt(2)/2。 MATLAB 返回实数和虚数均为正数的那个。

    【讨论】:

    • 哇。我完全错过了我有 sqrt(sqrt(x))。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 2021-09-05
    • 2011-07-20
    • 1970-01-01
    • 2019-04-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-22
    相关资源
    最近更新 更多