在matlab中绘制虚数

Draw imaginary numbers in matlab

我正在尝试学习 matlab。 我正在尝试制作一个绘制这些虚数的程序:("," = decimal number)

并确定 500 个数字中最接近实轴的那个。 我需要一些指导。

我需要做什么来解决这个任务? 我正在考虑制作一个循环,其中所有 "values" 都存储在一个数组中:

[code]
n= 1
while n < 500
    value=1+0.1^n;
    disp(value)
        n=n+1[/code] 

(好像 value 正在打印错误的值?以及如何存储在数组中?) 然后以某种方式确定最接近实轴的数字,然后显示该值。

如果有人能帮助我,我将不胜感激。

提前致谢。

MATLAB 通过在数字后附加 ij 项来创建虚数。例如,如果你想创建一个虚数,使得实部为 1,虚部为 1,你只需执行以下操作:

>> A = 1 + i

A =

   1.0000 + 1.0000i

您可以看到有一个不同的实部和一个虚部,并存储在 A 中。同样,如果要使虚数部分不为 1,则需要在 i(或 j)前添加一个常量。类似于:

>> A = 3 + 6i

A =

   3.0000 + 6.0000i

因此,对于您的任务,您只需在 1500 之间创建一个 n 的向量,将其输入到上面的等式中,然后绘制得到的虚数.在这种情况下,您可以在 x 轴上绘制实部,在 y 轴上绘制虚部。类似于:

>> n = 1 : 500;
>> A = (1 + 0.1i).^n;
>> plot(real(A), imag(A));

realimag 是 MATLAB 中的函数,用于访问存储在数组、矩阵或单值中的复数的实部和虚部。正如 knedlsepp 所指出的,您可以简单地绘制数组本身,因为 plot 可以处理复值数组:

>> plot(A);

顺便说一句,照片不错!请注意附加了 ^ 运算符的 . 运算符。 . 表示元素操作。这意味着我们希望对从 1500 的每个 n 值应用幂运算,并以 1 + 0.1i 为基数。结果将是一个包含计算结果的 500 元素数组。如果我们自己做 ^,我们会期望执行矩阵幂运算,但事实并非如此。

您要分析的每个应用于 post 方程的 n 值存储在 A 中。然后我们在图上绘制实部和虚部。现在如果你想找到最接近实轴的数字,你只需要找到存储在 A 中的数字的最小绝对虚部,然后搜索所有共享这个数字的数字。

>> min_dist = min(abs(imag(A)));
>> vals = A(abs(imag(A)) == min_dist)

vals =

   1.3681 - 0.0056i

这意味着1.3681 - 0.0056i的值最接近实轴。