MATLAB - 八个常用函数入门标量函数可视化
1、plot函数绘制二维曲线
plot函数常被用于绘制二维图形,具有很多种用法,此处介绍利用plot函数绘制二维点图和线图。基本格式为plot(x,y,LineSpec)。此处LineSpec为线的规格设定,指绘图样式,主要选项如下表。
下面通过三个示例直观的展示plot函数的用法。
示例1
x = 0:pi/1000:2*pi; %x从0到2Π取值,步长Π/1000
y = sin(2*x+pi/4); %y的函数表达式
plot(x,y)
示例2
x = 0:pi/20:2*pi;
y = sin(2*x+pi/4);
plot(x,y,'--or') %坐标点用圆圈标志,线型为虚线
示例3
x = 0:pi/100:2*pi;
y1 = sin(x);
y2 = sin(x-0.25);
y3 = sin(x-0.5);
figure
plot(x,y1,x,y2,'--',x,y3,'.')
2、mesh函数和surf函数绘制三维曲面
mesh函数和surf函数可以用来绘制三维曲面,其中“mesh”本身就具有“网格”的意思,mesh函数用于绘制三维的网格图,三维网格图可以用来绘制要求不是特别精确的三位曲面;surf函数用于绘制三维曲面图,各线条之间的面元用颜色填充。下面用两个示例直观的展现两个函数的用法与效果。
示例1
x = linspace(-2,2,25); %x在-2到2取25个点
y = linspace(-2,2,25); %y在-2到2取25个点
[xx,yy] = meshgrid(x,y); %生成网格采样点
zz = sqrt(xx.^2+yy.^2); %生成矩阵z
mesh(xx,yy,zz); %画出立体网状图
示例2
x = linspace(-2,2,25); %x在-2到2取25个点
y = linspace(-2,2,25); %y在-2到2取25个点
[xx,yy] = meshgrid(x,y); %生成网格采样点
zz = sqrt(xx.^2+yy.^2); %生成矩阵z
surf(xx,yy,zz); %画出着色的三维曲线
3、contour函数绘制二维与三维等高线
标量函数的二维与三维等高线分别用contour函数和contour3函数绘制,语法格式与用法用以下示例展示。
[x,y] = meshgrid([-2:0.25:2]); %创建x-y网格坐标平面
z = x.*exp(-(x.^2+y.^2)); %计算函数值
contour(x,y,z); %绘制二维等高线
figure; %新建新的串口图形
contour3(x,y,z,30); %绘制三维等高线
4、pcolor函数绘制伪彩色图
利用pcolor函数绘制伪彩色图,用来以二维平面展现三维图形的效果,用不同的颜色来代表不同的高度。示例如下:
[x,y] = meshgrid([0:20]); %创建x-y网格坐标平面
z = sqrt(x.^2 + y.^2); %计算函数值
figure;
hold on;
pcolor(x,y,z); %绘制伪彩色图
plot([0:20],[0:20],'r+'); %绘制x=y对应的点
colorbar; %显示色阶,默认为jet
5、isosurface函数绘制三维隐函数
isosurface函数是MATLAB中绘制三维隐函数的工具,调用格式为
fv = isosurface(x,y,z,isovalue);
基于isovalue中指定的数值,计算体数据V并绘制等值面,即等值面连接具有指定V值的点。示例如下:
[x,y,z] = meshgrid(linspace(-10,10)); %形成网格数据(x,y,z)
v = x.^2+y.^2-z.^2; %形成体积数据V
isosurface(x,y,z,v,1); %绘制三位隐函数图形x.^2+y.^2-z.^2=1
axis equal %横纵坐标刻度一致
colormap([1 0 0]); %改变图形颜色为红色
brighten(0.5); %增加颜色亮度
camlight right; %设置光源位置
lighting phong; %设置光照模式
figure(2);
fv = isosurface(x,y,z,v,1); %计算等值面所对应的面元和顶点
p = patch(fv); %绘制等值面
set(p,'FaceColor','red','EdgeColor','none'); %修饰等值面
axis equal %等比例显示
6、peaks函数演示三维曲面
多峰函数peaks可用于三维曲面的演示,在命令框中直接输入peaks来绘制函数,示例如下:
[x,y,z] = peaks; %调用peaks函数,得到相关函数
peaks; %绘制peaks函数图像
7、slice函数绘制切片图
slice函数通过体数据来展示正交切片平面,可通过三维实体的四维切片色图来展示四维图像,用三维实体的颜色来描述函数值的变化情况,示例如下:
[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)); %在网格上定义函数
xslice = [-1.2:0.8:2];yslice = 2;zslice = [-2,0]; %定义切片位置
slice(x,y,z,v,xslice,yslice,zslice) %绘制切片图
xlabel('x');ylabel('y');zlabel('z'); %绘制坐标轴标号
colormap hsv; %设置表色板为hsv
8、NaN函数裁剪图形
NaN(Not a Number)用于表示不可使用的数据,利用这个特性可将图形中需要裁剪的部分设置为NaN,这样在绘制图形时,函数值为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
通过以上8个常用函数的学习,对MATLAB的语法及几个简单的函数有一个大致的了解,后续将学习一些实现矢量函数的可视化的常用函数。
MATLAB - 八个常用函数入门标量函数可视化相关推荐
- SQL函数入门--时间函数
SQL函数入门--时间函数 时间函数 now() 返回 现在的时间 -- 精确到秒 curdate() 返回 当前的 日期 curtime() 返回 当前的几点 year(date) 返回 date ...
- mysql chr函数_mysql标量函数
几种常用的标量函数,最简单的就是通过类select abs(-123);来使用标量函数. abs:该函数返回一个数表达式的绝对.如abs(-123); adddate:该函数将一个时间间隔(参数2)添 ...
- matlab没有定义标量,SQL创建了标量函数但显示不存在,如何解决
公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:SQL创建了标量函数但显示不存在,如何解决?回答:使用修改部分打开的自定义函数,说明函数创建成功.至于加红色的波浪线,可以不用理会, ...
- SQL SERVER中用户定义标量函数(scalar user defined function)的性能问题
SQL SERVER中用户定义标量函数(scalar user defined function)的性能问题 原文:SQL SERVER中用户定义标量函数(scalar user defined fu ...
- Python学习笔记--day10函数入门
day10 函数入门 初识函数 函数的参数 函数的返回值 1. 初识函数 函数到底是个什么东西? 函数,可以当做是一大堆功能代码的集合. def 函数名():函数内编写代码......函数名() 例如 ...
- OpenFaaS实战之二:函数入门
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos OpenFaaS实战系列文章链接 部署 函数入门 Ja ...
- MATLAB常用的基本数学函数
一.MATLAB常用的基本数学函数 abs(x):纯量的绝对值或向量的长度 angle(z):复数z的相角(Phase angle) sqrt(x):开平方 real(z):复数z的实部 imag(z ...
- matlab isnumeric函数,MATLAB数组的常用函数
3 进行数组运算的常用函数 在MATLAB中有一些常用函数,这些函数在日常的编程计算过程中会经常遇到,一般是基本的数学概念在MATLAB中的函数表达方式.这些函数在MATLAB中可以同时作用于整个矩 ...
- matlab怎么定义矩阵函数,MATLAB数组的常用函数
3 进行数组运算的常用函数 在MATLAB中有一些常用函数,这些函数在日常的编程计算过程中会经常遇到,一般是基本的数学概念在MATLAB中的函数表达方式.这些函数在MATLAB中可以同时作用于整个矩 ...
最新文章
- 项目需求|RGBD实时三维重建(项目经费20万)
- ubuntu(linux)下安装openCV(ffmpeg导致的编译不通过的解决办法)
- 程序员面试题精选100题(26)-和为n连续正数序列[算法]
- qstring截取一段字符串_笔记 | 自学Python 05:数据类型之字符串
- 猿宵节正确打开方式:你要的大数据、机器学习、神经网络…已配齐
- 人脸方向学习(十一):Face Landmark Detection-PFLD解读
- 实用好用的在线二维码生成器有哪些?
- 关于两个HC05通讯的实际操作流程
- java 防重复提交_Java中如何避免重复提交请求
- DAMS | 突破运维瓶颈,监控告警、混合CMDB、DevOps转型一网打尽!
- 通过微信公众平台获取公众号文章
- 怎样将一个Word表格拆分为两个
- 生命不可承受之重, 请关爱过劳人员
- STM32——I2S简介硬件连接
- 特征学习笔记Chapter1-Chapter4
- Python初识对象
- [HEOI2013]ALO-题解
- c语言 字符串字符反向储存_反向字符串的PL / SQL程序
- 计算机老师 杂事多,为什么现在很多教师都感觉很累?这三个原因,可以了解一下...
- 数据结构 第一章:绪论