MATLAB笔记之复数以及基本复数函数二维视角(2d)图形绘制

  •                          QQ:3020889729                                                                                 小蔡
  • 一般复数的2d图形绘制
  • 一般复数的平移图形~(即一个复数加另一个复数实现在复平面的平移)
  • 补充几个复数以及复数函数的俯视图
    • 复数的余弦函数的俯视图像(cos(z))
    • 1/z的俯视图像
    • z/(1+z)的俯视图像
    • exp(x + iy)的俯视图像
    • z^3的俯视图像
    • z/(x^2+2*y)的俯视图像
  • 总结
                         QQ:3020889729                                                                                 小蔡

所谓二维视角/俯视角,都指的是复数在复平面的表现形式——而四维属性,采用复数实部作为颜色选值来实现~

一般复数的2d图形绘制

以下代码可以直接复制实现~

x = linspace(-1,1,30); % linspace的作用——依次获取等间隔的第一个参数到第二个参数的一系列值,个数由第三个参数决定(返回一个行向量)——闭区间
y = linspace(-1,1,30); % 这个取值,只会影响格子大小而已
[x,y] = meshgrid(x,y); % meshgrid返回一个二维网格的矩阵数据
z = x + y*1i; % 说明一下,在matlab中,你输入*i或者*1i,最后再用的时候,其实他也不过是按照实部虚部作图/计算而已figure;
% 我们先画一下当前的三维复数图
mesh(x,y,imag(z),real(z)); %参数第一第二分别是x,y值,其次,是我们需要显示的复数的虚部作为z值,以实部作为颜色取值
axis([-3,3,-3,3]); % 这个函数方法设置可以保证z轴默认为零,和图形打开时默认的x,y轴长度
% axis,使得我们能够从二维视角观看复数图形
grid off;% 取消栅格(就是那些格子)set(gca,'xtick',(-3:3),'ytick',(-3:3)); % set设置属性中,第一个参数为对象,也就是对谁设置属性,其后都是键对值% 也就是,‘xtick’,(-3,3),为一个键对值
% 添加标题
title("复数四维·俯角观查图像");
% 添加坐标轴标签——就是给坐标轴名字
xlabel("实部");
ylabel("虚部");
box off;
% 取消边框

效果:

一般复数的平移图形~(即一个复数加另一个复数实现在复平面的平移)

原理是:mesh的反复画图(只改变复平面x,y的值,这里不要改变后两个参数哦)——将几次平移的图形保留下来

x = linspace(-1,1,30); % linspace的作用——依次获取等间隔的第一个参数到第二个参数的一系列值,个数由第三个参数决定(返回一个行向量)——闭区间
y = linspace(-1,1,30); % 这个取值,只会影响格子大小而已
[x,y] = meshgrid(x,y); % meshgrid返回一个二维网格的矩阵数据
z = x + y*1i; % 说明一下,在matlab中,你输入*i或者*1i,最后再用的时候,其实他也不过是按照实部虚部作图/计算而已figure;
% 我们先画一下当前的三维复数图
mesh(x,y,imag(z),real(z)); %参数第一第二分别是x,y值,其次,是我们需要显示的复数的虚部作为z值,以实部作为颜色取值
axis([-3,3,-3,3]); % 这个函数方法设置可以保证z轴默认为零,和图形打开时默认的x,y轴长度
% axis,使得我们能够从二维视角观看复数图形
grid off;% 取消栅格(就是那些格子)set(gca,'xtick',(-3:3),'ytick',(-3:3)); % set设置属性中,第一个参数为对象,也就是对谁设置属性,其后都是键对值% 也就是,‘xtick’,(-3,3),为一个键对值
% 添加标题
title("复数四维·俯角观查图像");
% 添加坐标轴标签——就是给坐标轴名字
xlabel("实部");
ylabel("虚部");
box off;
% 取消边框% 需要平移就以下操作即可(既然是平移,是二维属性变化,所以设置x,y值就可以了,其它值应该保持不变)
z1 = z +(3+3*1i); % 平移第一次
mesh(real(z1),imag(z1),imag(z),real(z)); % 移动一下看,不然,可能一个视图看不到 %也可以滚动鼠标滑轮,往下滑动放下视图,不过可能需要先点击一下图片
hold on; % 保留图形,不知道之后还有没有,所以每一次后边加一个
z2 = z +(3+(-3)*1i); % 平移第二次
mesh(real(z2),imag(z2),imag(z),real(z));
hold on;
z3 = z +((-3)+3*1i); % 平移第三次
mesh(real(z3),imag(z3),imag(z),real(z));
hold on;
z4 = z +(-3+(-3)*1i); % 平移第四次
mesh(real(z4),imag(z4),imag(z),real(z));
hold on;

效果:

补充几个复数以及复数函数的俯视图

复数的余弦函数的俯视图像(cos(z))

% cos(z)的图像clear,clc;
x = linspace(-pi,pi*2/5,100); % cos(z),与z的开角有关的是x
y = linspace(-pi,pi,100); % y控制伸展
[x,y] = meshgrid(x,y);
z = x + y.*1i;% 取前面的z值为基础,得到一个新的复数
% zcs = cos(z); % 注意哦,要点乘,不然会出现和值,而不是矩阵数据
zcs = (exp(1i.*z)-exp(1i.*(-z)))./2;% figure,新建一个图形界面显示
figure;
mesh(real(zcs),imag(zcs),imag(zcs),real(zcs)); % 设置图像参数要在显示函数(mesh/plot等)之后axis([-3,3,-3,3]); % 设置坐标轴默认值
grid off; % 关闭栅格
set(gca,'xtick',(-3:3),'ytick',(-3:3)); % 设置当前图框
title("cos(z)的图像"); % 标题
xlabel("实部"); % 坐标轴标签
ylabel("虚部"); %
box on; % 边框显示hold on;
colorbar('vert')

效果:

1/z的俯视图像

% 1/z的图像clear,clc;
x = linspace(-pi,pi,100); % cos(z),与z的开角有关的是x
y = linspace(-pi,pi,100); % y控制伸展
[x,y] = meshgrid(x,y);
z = x + y.*1i;% 取前面的z值为基础,得到一个新的复数
zx2 = 1./abs(z).*exp(-1i.*angle(z));
% zx2 = 1./z; % 注意哦,要点乘,不然会出现和值,而不是矩阵数据% figure,新建一个图形界面显示
figure
mesh(real(zx2),imag(zx2),imag(zx2),real(zx2)); % 设置图像参数要在显示函数(mesh/plot等)之后% 调用之前的配置过来用就好了(copy前面的)
axis([-3,3,-3,3]); % 设置坐标轴默认值
grid off; % 关闭栅格
set(gca,'xtick',(-3:3),'ytick',(-3:3)); % 设置当前图框
title("1/z的图像"); % 标题
xlabel("实部"); % 坐标轴标签
ylabel("虚部"); %
box on; % 边框显示hold on;

效果:

z/(1+z)的俯视图像

% z/(1+z)的图像clear,clc;
x = linspace(-20,20,100);
y = linspace(-20,20,100);
[x,y] = meshgrid(x,y);
z = x + y.*1i;
zc_y = sqrt((z.*(-z)+(-z).*1)./(1-z.*z)); figuremesh(real(zc_y),-imag(zc_y),imag(zc_y),real(zc_y)); axis([-3,3,-3,3]);
grid off;
set(gca,'xtick',(-3:3),'ytick',(-3:3));
title("z/(1+z)的图像");
xlabel("实部");
ylabel("虚部");
box on; hold on;
colorbar('vert')

效果:

exp(x + iy)的俯视图像

% exp(x + iy)的图像clear,clc;
x = linspace(-pi,pi,34); % cos(z),与z的开角有关的是x
y = linspace(-9*pi/10,9*pi/10,34); % y控制伸展
[x,y] = meshgrid(x,y);
z = x + y.*1i;% 取前面的z值为基础,得到一个新的复数
zx = exp(real(z)).*exp(imag(z)*1i); % 注意哦,要点乘,不然会出现和值,而不是矩阵数据% figure,新建一个图形界面显示
figuremesh(real(zx),imag(zx),imag(zx),real(zx)); % 设置图像参数要在显示函数(mesh/plot等)之后% 调用之前的配置过来用就好了(copy前面的)
axis([-3,3,-3,3]); % 设置坐标轴默认值
grid off; % 关闭栅格
set(gca,'xtick',(-3:3),'ytick',(-3:3)); % 设置当前图框
title("exp(x + iy)的图像"); % 标题
xlabel("实部"); % 坐标轴标签
ylabel("虚部"); %
box on; % 边框显示hold on;

效果:

z^3的俯视图像

% z^3的图像clear,clc;
x = linspace(-pi,pi,34); % cos(z),与z的开角有关的是x
y = linspace(-pi,pi,34); % y控制伸展
[x,y] = meshgrid(x,y);
z = x + y.*1i;% 取前面的z值为基础,得到一个新的复数
zy2 = z.^3; % 注意哦,要点乘,不然会出现和值,而不是矩阵数据% figure,新建一个图形界面显示
figure
mesh(real(zy2),imag(zy2),imag(zy2),real(zy2)); % 设置图像参数要在显示函数(mesh/plot等)之后% 调用之前的配置过来用就好了(copy前面的)
axis([-3,3,-3,3]); % 设置坐标轴默认值
grid off; % 关闭栅格
set(gca,'xtick',(-3:3),'ytick',(-3:3)); % 设置当前图框
title("z^3的图像"); % 标题
xlabel("实部"); % 坐标轴标签
ylabel("虚部"); %
box on; % 边框显示hold on;

效果:

z/(x^2+2*y)的俯视图像

clear,clc;
x = linspace(-2,2,60); % cos(z),与z的开角有关的是x
y = linspace(-2,2,60); % y控制伸展
[x,y] = meshgrid(x,y);
z = x + y.*1i;% 取前面的z值为基础,得到一个新的复数
zcy = z./(x.^2+y.*2); % 注意哦,要点乘,不然会出现和值,而不是矩阵数据% figure,新建一个图形界面显示
figure
mesh(real(zcy),imag(zcy),imag(zcy),real(zcy)); % 设置图像参数要在显示函数(mesh/plot等)之后axis([-3,3,-3,3]); % 设置坐标轴默认值
grid off; % 关闭栅格
set(gca,'xtick',(-3:3),'ytick',(-3:3)); % 设置当前图框
title("z/(x^2+2*y)的图像"); % 标题
xlabel("实部"); % 坐标轴标签
ylabel("虚部"); %
box on; % 边框显示hold on;
colorbar('vert')

效果:

总结

绘制复数二维复平面图形——就是画三维的俯视图,取复数实部为颜色参数值。

绘制这样的图形可以理解成——花两个平面图形:x,y一个,imag(z),real(z)对应一个——使用mesh绘制得到~

MATLAB笔记之复数以及基本复数函数二维视角(2d)图形绘制相关推荐

  1. MATLAB笔记之基本初等复变函数画法(3维)

    MATLAB笔记之基本初等复变函数画法(3维) QQ:3020889729 小蔡 复幂函数与实幂函数(调用cplxmap绘制) 复指数函数与实指数函数(调用cplxmap绘制) 复三角函数与实三角函数 ...

  2. 利用matlab实现POD分解(在一维信号或二维流场矢量中的应用)

    利用matlab实现POD分解(在一维信号或二维流场矢量中的应用) 0 前言 0.1 matlab中特征值计算 0.2 matlab中SVD分解计算 0.3 信号的正交性 1 一维信号POD分解 1. ...

  3. Python学习笔记(二)——Python基本图形绘制

    Python学习笔记(二)--Python基本图形绘制 文章目录 Python学习笔记(二)--Python基本图形绘制 不同编程语言的初心和适用对象 Python蟒蛇绘制 五星红旗绘制 这次笔记主要 ...

  4. 【C 语言】二级指针作为输入 ( 二维数组 | 抽象业务函数 | 二维数组打印函数 | 二维数组排序函数 )

    文章目录 一.抽象 二维数组 业务函数 1.二维数组 打印函数 2.二维数组 排序函数 二.完整代码示例 一.抽象 二维数组 业务函数 1.二维数组 打印函数 注意 , 二维数组 作为 函数参数 输入 ...

  5. matlab如何读取二维数组,Matlab从csv文件中读取多个二维数组

    我有一个csv文件,它包含2列4列数组,但行数不等.例如:Matlab从csv文件中读取多个二维数组 2, 354, 23, 101 3, 1023, 43, 454 1, 5463, 45, 765 ...

  6. AI笔记: 计算机视觉之SIFT特征检测: 尺度空间、二维高斯函数、高斯金字塔

    SIFT概述 SIFT的全称是Scale Invariant Feature Transform(尺度不变特征变换),是由加拿大教授David G.Lowe在1999年发表于计算机视觉国际会议,200 ...

  7. matlab二维怎么定义,matlab中如何定义一个10*2的二维数组,用来储存后面算出的数值...

    答:可以先定义,这样可以预先分配空间,B = zeros(20, 2); 也可以运算出一个结果往数组里增添1列,动态来增加. matlab二维数组的创建: 二维数组实际上也是一个矩阵.应此直接创建一个 ...

  8. python append函数二维_python创建与遍历List二维列表的方法

    python创建与遍历List二维列表的方法 python 创建List二维列表 lists = [[] for i in range(3)] # 创建的是多行三列的二维列表 for i in ran ...

  9. iterp2函数--------二维数据内插值

    [语法说明] 1.zi=interp1(x,y,z,xi,yi):返回矩阵zi,其元素包含对应于参量xi和yi的元素.用户可以输入行向量和列向量xi和yi,此时,输出向量zi与矩阵meshgrid(x ...

最新文章

  1. Leetcode 125. 验证回文串 解题思路及C++实现
  2. day15 接口与异常
  3. c# ini file
  4. idea项目没法继承httpservlet_intelj idea社区版开发web项目
  5. [导入]常用26句生活用语[英语]
  6. [html] 给内联元素加float与给块元素加float有什么区别?
  7. 黑客到底可以厉害到什么程度
  8. Spark streaming 概述
  9. 挖掘建模-分类与预测-回归分析-逻辑回归
  10. 跳槽换工作的最佳时机,985硕士的人生总结
  11. mysql调优 参数说明
  12. iOS开发UI篇—UIScrollView控件介绍
  13. 小米8绑定账号和设备验证失败_网赚项目刚需账号答疑大集合!
  14. 基于链队列的银行叫号系统
  15. 木马的远程控制和清除 实验
  16. 以下数据库收录外文文献全文的有_【讲座】外文文献的检索与获取
  17. 获取设备唯一编号替代IMEI新方案
  18. 股指期货开户的保证金和手续费是多少?怎么计算?
  19. 为博客添加樱花飘落的效果
  20. [总结]蓝牙各个版本的关系和区别

热门文章

  1. 坐的越久,死的越快——说说工作环境
  2. 如何检测笔记本电脑的主板,cpu,硬盘的温度
  3. 雷军推红米Redmi独立品牌喊话友商:生死看淡 不服就干
  4. Malformed \uxxxx encoding解决方法
  5. css中图片在div中的位置,纯CSS实现任意图片在div中垂直居中
  6. openwrt上透明AP的实现
  7. Termux – Android运行aarch64 – Linux – 安卓设备建站 – 让旧安卓设备老树新花
  8. 我国网络营销发展的现状、障碍与对策
  9. 中国男人配不上中国女人?
  10. 店铺数据分析很重要吗?分析拼多多数据重要性,店铺引流效果有效提升。