MATLAB笔记之复数以及基本复数函数二维视角(2d)图形绘制
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)图形绘制相关推荐
- MATLAB笔记之基本初等复变函数画法(3维)
MATLAB笔记之基本初等复变函数画法(3维) QQ:3020889729 小蔡 复幂函数与实幂函数(调用cplxmap绘制) 复指数函数与实指数函数(调用cplxmap绘制) 复三角函数与实三角函数 ...
- 利用matlab实现POD分解(在一维信号或二维流场矢量中的应用)
利用matlab实现POD分解(在一维信号或二维流场矢量中的应用) 0 前言 0.1 matlab中特征值计算 0.2 matlab中SVD分解计算 0.3 信号的正交性 1 一维信号POD分解 1. ...
- Python学习笔记(二)——Python基本图形绘制
Python学习笔记(二)--Python基本图形绘制 文章目录 Python学习笔记(二)--Python基本图形绘制 不同编程语言的初心和适用对象 Python蟒蛇绘制 五星红旗绘制 这次笔记主要 ...
- 【C 语言】二级指针作为输入 ( 二维数组 | 抽象业务函数 | 二维数组打印函数 | 二维数组排序函数 )
文章目录 一.抽象 二维数组 业务函数 1.二维数组 打印函数 2.二维数组 排序函数 二.完整代码示例 一.抽象 二维数组 业务函数 1.二维数组 打印函数 注意 , 二维数组 作为 函数参数 输入 ...
- matlab如何读取二维数组,Matlab从csv文件中读取多个二维数组
我有一个csv文件,它包含2列4列数组,但行数不等.例如:Matlab从csv文件中读取多个二维数组 2, 354, 23, 101 3, 1023, 43, 454 1, 5463, 45, 765 ...
- AI笔记: 计算机视觉之SIFT特征检测: 尺度空间、二维高斯函数、高斯金字塔
SIFT概述 SIFT的全称是Scale Invariant Feature Transform(尺度不变特征变换),是由加拿大教授David G.Lowe在1999年发表于计算机视觉国际会议,200 ...
- matlab二维怎么定义,matlab中如何定义一个10*2的二维数组,用来储存后面算出的数值...
答:可以先定义,这样可以预先分配空间,B = zeros(20, 2); 也可以运算出一个结果往数组里增添1列,动态来增加. matlab二维数组的创建: 二维数组实际上也是一个矩阵.应此直接创建一个 ...
- python append函数二维_python创建与遍历List二维列表的方法
python创建与遍历List二维列表的方法 python 创建List二维列表 lists = [[] for i in range(3)] # 创建的是多行三列的二维列表 for i in ran ...
- iterp2函数--------二维数据内插值
[语法说明] 1.zi=interp1(x,y,z,xi,yi):返回矩阵zi,其元素包含对应于参量xi和yi的元素.用户可以输入行向量和列向量xi和yi,此时,输出向量zi与矩阵meshgrid(x ...
最新文章
- Leetcode 125. 验证回文串 解题思路及C++实现
- day15 接口与异常
- c# ini file
- idea项目没法继承httpservlet_intelj idea社区版开发web项目
- [导入]常用26句生活用语[英语]
- [html] 给内联元素加float与给块元素加float有什么区别?
- 黑客到底可以厉害到什么程度
- Spark streaming 概述
- 挖掘建模-分类与预测-回归分析-逻辑回归
- 跳槽换工作的最佳时机,985硕士的人生总结
- mysql调优 参数说明
- iOS开发UI篇—UIScrollView控件介绍
- 小米8绑定账号和设备验证失败_网赚项目刚需账号答疑大集合!
- 基于链队列的银行叫号系统
- 木马的远程控制和清除 实验
- 以下数据库收录外文文献全文的有_【讲座】外文文献的检索与获取
- 获取设备唯一编号替代IMEI新方案
- 股指期货开户的保证金和手续费是多少?怎么计算?
- 为博客添加樱花飘落的效果
- [总结]蓝牙各个版本的关系和区别