matlab - MATLAB 为复杂表示绘制一系列图形
问题描述
我试图在窗口中绘制同一函数的各种表示,以了解它的几何形状。尽管如此,我的 matlab 技能限制了我……我的目标是创建一个真正能够让任何人都能够理解函数的几何形状的程序,并显示它的每个角度。
- 使用黎曼曲面表示实部和虚部。
如何在具有亮度的 MATLAB 中绘制具有相位信息的复杂函数
- 使用相同事物的亮度和颜色的表示(不像在他们绘制幅度和相位的链接中)。
在这个链接中,一位好帮手有好主意,只是我认为情节不够流畅,颜色很奇怪...... Octave(Matlab)中复杂函数的域着色(色轮)图
所以到目前为止我发现了什么:
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......
此外,我真的很喜欢使用这种彩虹色,拥有从蓝色到红色的一系列常规颜色:
而且我不知道如何更改颜色...我也不知道如何更改绘图右侧的刻度范围以使其以“pi”而不是弧度形式书写。 .我想它会更具可读性...
好吧,如果你有任何想法来做这个把戏,我真的很乐意在实践中做到 :) 我知道我问了很多事情,但即使它只是整个代码的一个紧缩,它也会是有用,我会尽量统一一切。
谢谢大家 !
解决方案
好吧,要经历很多事情,所以在我尝试理解其余部分之前,让我们先了解一些简单的事情。
更改颜色渐变: 在声明后立即添加代码
colorbar
colormap jet; %gradient from blue to red
将比例更改为 pi 的数字: 在绘图部分只需添加代码,它应该可以解决问题
xticks([-pi -pi/2 0 pi/2 pi])
xticklabels({'-\pi','-\pi/2','0','\pi/2','2\pi'})
其余的,我需要更多时间,或者其他人可以尝试回答。
推荐阅读
- git - 如何在大型仓库上运行“git clone mirror”而不失败?
- javascript - 如何在 Material UI 中更改复选框图像样式。反应.js
- html - 使用 React 构建自定义循环进度条
- java - 如何使用 for 循环在 Android Studio 中播放 20 毫秒的音频文件?
- javascript - 从 json 的数据中返回一个新数组
- javascript - 何时以及为何在 HTML 头部部分使用 javascript 代码?
- php - 使用 PHP CS Fixer 删除导入之间的多余行
- system-verilog - VCS 工具在 edaplayground 上使用 uvm_hdl_deposit 时出错
- c++ - C++ 中的复杂性分析
- html - 如何修复 flexbox 偏移项目