MATLAB为复杂表示绘制了一系列图形

时间:2018-10-28 21:37:54

标签: matlab complex-numbers

我正在尝试在同一图中绘制同一函数的各种表示形式 窗口以了解其几何形状。不过,我一定会 根据我在Matlab上的技能...我的目标是创建一个程序 真正能够使任何人都能理解 功能,显示它的每个角度。

我试图在同一窗口上显示: enter image description here

    使用黎曼曲面对实部和虚部进行表示。

How Can I Plot a Complex Function With Phase Information in MATLAB With Brightness

  1. 使用同一事物的亮度和颜色进行表示(与链接中绘制幅度和相位的链接不同)。

enter image description here

在此链接中,一个很棒的帮手有个好主意,只是我认为情节不够流畅,而且颜色很怪异... Domain coloring (color wheel) plots of complex functions in Octave (Matlab)

  1. 然后在另一个窗口中,做同样的事情,只是绘制幅度和相位而不是绘制实部和虚部。

  2. 最后,在最后一个窗口中,我真的想绘制类似于我们在Wolfram alpha上看到的内容(这是1 / z的示例): enter image description here

所以到目前为止我发现了什么:

https://www.mathworks.com/help/matlab/visualize/visualizing-four-dimensional-data.html?ue

因此在matlab中,我现在可以像使用第一张图片一样使用此代码来进行可视化处理:

r = (0:1:15)';                        % create a matrix of complex inputs
theta = pi*(-1:0.05:1);
z = r*exp(1i*theta);
w = log10(z)  ;                                % calculate the complex outputs



figure('Name','Graphique complexe'  , 'units','normalized','outerposition',[ 0.08 0.1 0.8 0.55]);
subplot(121)
surf(real(z),imag(z),real(w),imag(w))    % visualize the complex function using surf
xlabel('Real(z)')
ylabel('Imag(z)')
zlabel('Real(u)')
cb = colorbar;
cb.Label.String = 'Imag(v)';

subplot(122)
surf(real(z),imag(z),imag(w),real(w))    % visualize the complex function using surf
xlabel('Real(z)')
ylabel('Imag(z)')
zlabel('Imag(v)')
cb = colorbar;
cb.Label.String = 'Real(u)';

但是我有一个问题。也许我错了,但是当我绘制z ^ 2时,我猜想它不是线性的(就像必须是:Im z ^ 2 = -2xy)而是二次的,就像实部一样: x ^ 2-y ^ 2 ... 绘制身份时出现相同的问题,角度范围很奇怪...从-15到15 ...

此外,使用这种彩虹,我真的很喜欢拥有从蓝色到红色的各种常规颜色:

enter image description here

而且我不知道如何更改颜色...我也不知道如何更改绘图右侧的比例范围,以使其以“ pi”而不是弧度...我想它将更具可读性...

好的,如果您有任何想法可以解决问题,我会 很高兴在实践中做到这一点:)我知道我问了很多事情,但即使这只是紧要关头 完整的代码,这将非常有用,我将尝试统一所有内容。

谢谢大家!

1 个答案:

答案 0 :(得分:1)

好吧,要经历的事情很多,所以在我尝试理解其余内容之前,让我们先简单地做一些事情。

更改颜色渐变: 在声明

后立即添加代码
__values__contains

将小数位数更改为pi的数字: 在绘图部分,只需添加代码即可,它应该可以解决问题

HStoreField

剩下的时间,我需要更多时间,或者其他人可以尝试回答。