MATLAB一维、二维、三维 标量函数绘图

  • 1. 一维标量绘图plot
  • 2. 二维、三维标量绘图
    • 2.1. mesh函数标量绘图
    • 2.2. surf函数标量绘图
    • 2.3. contour(x,y,z)与contour3(x,y,z)函数绘制等高线
    • 2.4. pcolor(x,y,c)绘制伪彩图
    • 2.5. slice(x,y,z,v,xi,yi.zi)绘制切片图
    • 2.6. NaN进行裁剪

绘图可以将抽象的公式转化为具体直观的图形,对理解原理概念非常有益,下面介绍一下几种简单的matlab绘图函数,给出了代码可以很快上手。介绍了plot、mesh、surf、contour、pcolor、slice、NaN的使用。

1. 一维标量绘图plot

x = 0:pi/20:2*pi;    % x取值范围由0到2π,pi/20是递增的步长
y = sin(2*x +pi/4);   % 表示y的函数表达式是sin类型
plot(x,y,'or--')  %o代表圆圈 --代表虚线

2. 二维、三维标量绘图

2.1. mesh函数标量绘图

mesh(x,y,z,c)
x,y代表网格坐标,z为网格点的高度矩阵,c用来定义点的颜色属性,省略时自动默认为正比于z。

x=linspace(-2, 2, 25);      %在-2到2取25个点
y=linspace(-2, 2, 25);         %在-2到2取25个点
[xx, yy]=meshgrid(x, y);       %生成网格采样点
zz=sqrt( xx.^2 + yy.^2);      %生成矩阵Z
mesh( xx,yy,zz);            %画出立体网状图

2.2. surf函数标量绘图

x=linspace(-2, 2, 25);      %在-2到2取25个点
y=linspace(-2, 2, 25);         %在-2到2取25个点
[xx, yy]=meshgrid(x, y);       %生成网格采样点
zz=sqrt( xx.^2 + yy.^2);      %生成矩阵Z
surf( xx,yy,zz);                %画出着色的三维曲面


可以看出,mesh和surf功能类似,只不过mesh绘制的网格图,surf绘制的是着色图

另外还有meshc、surfc(带等高线)meshz(带曲面底座)、surfl(光照效果)效果类似

surfc:

meshz:

surfl:

2.3. contour(x,y,z)与contour3(x,y,z)函数绘制等高线

contour

x=linspace(-2, 2, 25);      %在-2到2取25个点
y=linspace(-2, 2, 25);         %在-2到2取25个点
[xx, yy]=meshgrid(x, y);       %生成网格采样点
zz=sqrt( xx.^2 + yy.^2);      %生成矩阵Z
%surfl( xx,yy,zz);              %画出着色的三维曲面
contour(xx,yy,zz)


contour3:

2.4. pcolor(x,y,c)绘制伪彩图

伪彩图可以在二维图上显示三维效果

[X,Y]=meshgrid([-20:20]);     %创建X-Y网格坐标平面
Z=sqrt(X.^2+Y.^2);         %计算函数值
figure;
hold on
pcolor(X,Y,Z);             %绘制伪彩色图
colorbar;                  %显示色阶,默认为jet

2.5. slice(x,y,z,v,xi,yi.zi)绘制切片图

[x,y,z]=meshgrid(-2:0.2:2,-2:0.25:2,-2:0.16:2); %产生三维立体网格
%v = x.*y.*z.*exp(-(x.^2+y.^2+z.^2));
v = x.^2+y.^2+z.^2;%在网格上定义函数
xslice = 0; yslice =[2,0]; zslice = [-2:1:1.2];  %定义切片位置
slice(x,y,z,v,xslice,yslice,zslice) %绘制切片图
xlabel('x'); ylabel('y'); zlabel('z');    %标注坐标轴标号
colormap jet;   %设置调色板为jet

2.6. NaN进行裁剪

[x,y,z]=sphere(30);
z1=z;
z1(:,1:6)=NaN;                 %将大球的一部分裁掉
c1=ones(size(z1));
surf(4*x,4*y,3*z1,c1);           %绘制大球
hold on
z2=z;
c2=2*ones(size(z2));
c2(:,1:6)=3*ones(size(c2(:,1:6)));
surf(2*x,2*y,2*z2,c2);           %绘制小球
colormap([0,1,0;0.5,0,0;1,0,0]);
grid on
hold off


参考书目:matlab电磁场与微波技术仿真 梅中磊,李月娥等编著

MATLAB一维、二维、三维 标量函数绘图相关推荐

  1. Matlab中矩阵编号方式以及一维二维三维数据间的相互转换

    Matlab中矩阵编号方式以及一维二维三维数据间的相互转换 文章目录 Matlab中矩阵编号方式以及一维二维三维数据间的相互转换 一.问题的提出 二.一维数据转为二维和三维 三.三维数据转为一维和二维 ...

  2. MATLAB绘制二维曲线-fplot函数

    MATLAB绘制二维曲线-fplot函数 fplot函数的基本用法 双输入函数参数的用法 fplot函数的基本用法 fplot(f,lims,选项) f代表一个函数,通常使用函数句柄的形式,lims为 ...

  3. python中numpy中一维二维三维数组的意思

    python中numpy中一维二维三维数组的意思: 以下为一维二维三维数组图形化: 那么一维通俗点就是行(横着看)只有这个,别无二家. 二维通俗点就是行(横着看)+列(竖着看),只有这种形式. 三维比 ...

  4. 对一维二维三维数组的分析 及其 np.shape 的输出

    [1,2]的shape值(2,),意思是一维数组,数组中有2个元素. [[1],[2]]的shape值是(2,1),意思是一个二维数组,2行1列,每行有1个元素. [[1,2]]的shape值是(1, ...

  5. IDL 合并一维二维三维数组

    一维数组(行数相同) array3 = [array1,array2] 二维数组(列数相同) array3 = [[array1],[array2]] 三维数组(行列数都相同) array = [[[ ...

  6. matlab三维图、二维云图的可视化绘图

    matlab三维图.二维云图的可视化绘图 matlab三维图.二维云图的可视化绘图 1.meshgrid生成数据矩阵 2.可视化方案 3.shading类型 matlab三维图.二维云图的可视化绘图 ...

  7. MATLAB编程(4)——MATLAB绘制二维高斯函数的三维图

    本篇博文记录使用MATLAB绘制二维高斯函数的三维图. 用到的MATLAB函数--mesh()(绘制三维线框图)和surf()(绘制三维表面图). MATLAB命令窗口输入>> doc 函 ...

  8. matlab 三维数组运算,MATLAB二维三维画图仿真数组运算

    MATLAB二维三维画图仿真数组运算 1. 数学 (1) 数组运算: x=[1 2 3 4]; y=[3 4 5 6]; z=x+y %数组x与数组y相加得到数组z z = 4 6 8 10 z=x- ...

  9. matlab 极坐标 二维,matlab笔记二维绘图(极坐标隐函数等)008.docx

    matlab笔记二维绘图(极坐标隐函数等)008.docx 008二维绘图(极坐标.隐函数等)一.极坐标图形调用格式为POLART,R,'选项'其中,T为极角,R为极径,选项的使用和PLOT类似.例1 ...

最新文章

  1. 一次 QPS 翻倍的 Java 服务性能优化
  2. 直播 | DPDK中国技术峰会2017
  3. solidity智能合约[37]-以太坊虚拟机数据存储
  4. 【工具】sysbench 0.5 简介
  5. altiumdesigner的基本你操作
  6. Cocos文档案例游戏设计的梳理与分析
  7. 2020-11-13 02_计算机视觉基础
  8. 我使用过的Linux命令之dot - 绘制DOT语言脚本描述的图形
  9. C# 微信公众号开发
  10. 常用的公共数据集(二)
  11. Windows下批处理一键修改系统时间并运行程序
  12. 一文简要了解词义消歧与实体消歧
  13. 从云计算到固态硬盘 颠覆性技术成熟度分析
  14. tsc g813条码打印机接入电脑无法使用。
  15. AM335x启动流程(bootrom)
  16. 多协议BGP-----MPBGP
  17. 优思学院:通俗地谈谈FMEA
  18. DDR,DDR2,DDR3,SDRAM比较区别
  19. 段永平-雪球专刊·段永平投资问答录(上册 商业逻辑篇)(二)
  20. python滑动条来设置阈值houghcircle_OpenCV Python,为什么Hough Circle Transform找不到所有圆圈?...

热门文章

  1. android投影坐标转换,关于android相机:透视投影中的笛卡尔坐标系
  2. 比AtomicLong还高效的LongAdder 源码解析
  3. SAE(新浪云平台)容器云使用总结
  4. 代码可读性_超越了源代码的可读性和理解
  5. 【python】对于try...except的用法
  6. 想要成为优秀外贸业务员,必须养成的九个好习惯
  7. 【智能物流】基于客户定制的电子商务一体化自动物流系统建设
  8. 电源管理IC公司参考
  9. 【新书推荐】【2017.12】Excel必学的技巧教程(部落窝教育)
  10. html embed音乐循环,html5 embed标签的loop属性是怎么用的?embed标签的属性总结!