matlab 如何画二维图形,Matlab 学习 画图篇 一 二维图形

matlab给绘制二维图形提供了很多的函数,把一些绘制二维图形的基本函数做成一张表,如下图所示:

0818b9ca8b590ca3270a3433284dd417.png

我就按照表的顺序一一记录一些个函数的简略用法。

首先是

1.plot函数

plot函数有很多重载方法,这里只做简单的介绍

1.1 plot(Y)

1.1  若Y是向量,绘制向量Y对其索引值的曲线。

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

1.2 若Y是实数矩阵,绘制矩阵的每列对应于行数的曲线集合。

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

1.3  若Y是复数矩阵,等价于plot(real(Y),imag(Y));

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

1.2 plot(X,Y)

1.2.1   若X,Y,均为向量,绘制向量Y对应向量X的曲线此时X的长度跟Y的长度必须相等。

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

1.2.2  若X为向量Y为矩阵,则X的长度与矩阵Y的行数或列数必须相等:

1.2.2.1       X的长度与Y的列数相等,或X的长度与矩阵Y的行数和列数均相等(Y为方阵),绘制矩阵Y的每列对应X的曲线集合

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

1.2.2.2       X的长度与Y的行数相等,绘制矩阵Y的每行对应X的曲线集合

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

1.2.2  若X为矩阵Y为向量,则Y的长度与矩阵X的行数或列数必须相等,绘制方法与1.2.1类似,不在过多介绍

图略

1.2.3  若X,Y均为矩阵,则X,Y的大小必须相等,绘制矩阵Y的每列对应X的每列的曲线。

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

P.S 如果矩阵是复数矩阵,会自动忽略掉复数的虚部。。。。。

1.3 plot(X,Y,LineSpec)

绘制Y对应于X的曲线集合,并指定曲线的LineSpec,比如线型,标记符号,和颜色或其任意组合,API上关于LineSpec的讲解很详细。

1.4 plot(X,Y,‘属性’,属性值)

跟1.3 相比,只是属性值得不同。API上有很多

P.S  1. 有一种调用的方法  h =  plot(x....)  返回和曲线的句柄,其实感觉就像是指针

2.semilogx  semilogy  和 loglog 等函数的使用方法和plot基本类似,只是在曲线的外观上有所不同

2.plotyy函数

这个函数又叫双Y轴函数(上面的例子都是单Y轴函数,只有左侧一个Y轴)。plotyy是为了满足 :对函数值变化范围较大的两组数据同事绘图(这个时候用hold on,会很难从图形中辨识函数值变化范围较小的那组数据变化趋势的细节信息的,因为坐标系太大,所以才有这样的双坐标轴绘图),

比如这么样的一个表格:

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

3.polar函数

前面的函数都是在直角坐标系的绘图的,但是有时候需要在极坐标或者柱坐标中绘图,于是就有了poltar(极坐标绘图函数)

>> polar(theta,rho,LineSpec)     其中theta是极脚,rho是极径,其他的方法跟其他绘图函数基本相同。

网上找了个例子:

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

当然,还有很多坐标变换函数比如cart2pol 之类的,自行百度

4.fplot函数

如果不太了解某个函数随自变量的变化趋势,随便的就取定自变量的范围,很可能就用为自变量取值范围不好而是的绘制出的图片失真,为解决此问题可以使用fplot。这个函数,据说可以通过其内部的自适应算法动态的决定自变量的间隔。比如,函数值得变化较为剧烈,那么自变量的取值间隔就小。从而保证绘制出的图形的质量和效率。

绘制出的图形的质量和效率。

基本的调用函数形式为:

fplot(fun,limits)其中,fun为要绘制的函数,fun可以为可执行字符串,M文件,inline或者匿名函数。fun为要绘制的函数,limits为指定的范围,可以使二维向量平[xmin,xmax]或四维向量[xmin,xmax,ymin,ymax]

比如:

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

5.ezplot函数

ezplot函数可以直接绘制一元函数 如     y=f(x)  参数方程

0818b9ca8b590ca3270a3433284dd417.png  构成的函数y=f(x),以及隐函数f(x,y)=0的图形。

它的调用跟fplot类似,基本的调用方法是:

ezplot(fun,limits)   参见4.

至此,二维图形的绘制只剩下子图和交互式绘图了。

子图

为了突出的对比几个相似图形,一般可以使用子图(subplot),这样就可以在一个figure中做若干个图。

使用方法:subplot(m,n,p)

其中,m表示是图排成m行,n表示图排成n列,也就是整个figure中有n个图是排成一列的,一共m行,如果m=2就是表示2行图。p表示图所在的位置,p=1表示从左到右从上到下的第一个位置。

网上找了个例子:

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

交互式绘图

交互式绘图的常用方法是:ginput,gtext

在绘图前调用,然后在调用绘图函数,即可。比如用ginput可以方便的通过鼠标来读取二维平面图形的任意一个点的坐标值。当调用时,如ginput,会是当前的图形从后台调到前台,然后咱们可以移动鼠标点击想要选取的点,完成后(到可N值,或按下space),会在命令窗口看见点的坐标

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/304414.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Newbe.Claptrap 框架入门,第二步 —— 创建项目

接上一篇 《Newbe.Claptrap 框架入门,第一步 —— 开发环境准备》,我们继续了解如何创建一个 Newbe.Claptrap 项目。安装项目模板 打开控制台运行以下命令来安装最新的项目模板:dotnet new --install Newbe.Claptrap.Template安装完毕后&…

TTL expired in transit--问题篇~

今天在做东航事件处理时&#xff0c;发现远程登陆DMS服务器后&#xff0c;ping所有三层交换机<cisco 3550> 都发现一个现象:TTL expired in transit&#xff1b;如图1所示:之后用tracert -d IP 后&#xff0c;如图2所示:如图可见&#xff0c;可以清楚的发现&#xff0c…

生成drl文件_我如何通过编程方式生成.drl文件。任何示例对我都将有所帮助

我搜索了很多站点&#xff0c;但找不到有关.drl文件生成的任何特定相关示例。 .drl文件生成方面的文档也不值得。解决方案//- ---- package部分-------PackageDescr pkg new PackageDescr();pkg.setName(" com.demo.model");// -------此处的导入部分-------ImportD…

【干货】机器学习中样本比例不平衡的处理方法

推荐阅读时间&#xff1a;5min~12min主要内容&#xff1a;机器学习中样本比例不平衡的处理方法在机器学习中&#xff0c;常常会遇到样本比例不平衡的问题&#xff0c;如对于一个二分类问题&#xff0c;正负样本的比例是 10:1。这种现象往往是由于本身数据来源决定的&#xff0c…

Newbe.Claptrap 框架入门,第一步 —— 开发环境准备

Newbe.Claptrap 框架依托于一些关键性的基础组件和一些可选的辅助组件。本篇我们来介绍一下如何准备一个开发环境。必要组件 这些组件是使用本框架进行开发是必须要安装的组件。Docker DesktopDocker Desktop 是以下所有组件运行的基础。开发可以通过以下链接下载对应操作系统的…

php sequelize,node,express_sequelize 联合查询,node,express,mysql,sequelize - phpStudy

sequelize 联合查询我用sequelize 联合查询db.user.hasMany(db.bbsuser,{foreignKey:userId});db.bbsuser.belongsTo(db.user);db.user.findAll({include:[db.bbsuser]})&#xff1b;得到结果格式以下&#xff1a;{"id": 9,"username": "CallMeSoul&q…

vs中断点不能设置

确保你的exe和pdb文件是从当前源代码里编译出来的。或者在 Tool -> options -> debug. 从中找到并取消掉“源代码必须和调试文件的版本一致”。 转载于:https://blog.51cto.com/ustcer/265179

android 弹窗有边框_Android 多种简单的弹出框样式设置代码

简介这是一个基于AlertDialog和Dialog这两个类封装的多种弹出框样式&#xff0c;其中提供各种简单样式的弹出框使用说明。同时也可自定义弹出框。特性1.使用链式开发代码简洁明了2.所有的弹出框样式都在DialogUIUtils这个类中完成&#xff0c;方便查阅方法3.可以自定义弹出框字…

网易10万+课程迅速刷屏又迅速被封:“违规”背后的思考

从16号晚上8点前后上线到17号早上&#xff0c;不到16小时&#xff0c;网易云课堂的“年度运营大课”&#xff0c;已售出超10万份&#xff08;售价39元&#xff09;&#xff0c;可以说是非常现象级了。而取得如此现象级成果的背后&#xff0c;至少一个核心驱动力源自于一个“一级…

一起学习设计模式--03.工厂方法模式

简单工厂模式虽然简单&#xff0c;但是存在一个很严重的问题&#xff1a;由于静态工厂方法是根据传入的参数不同来创建不同的产品的&#xff0c;所以当系统中需要引入新产品时&#xff0c;就需要修改工厂类的源代码&#xff0c;这将违背开闭原则。为了实现增加新产品而不修改原…

php restful规范,RESTFul API规范 详细指南

RESTFul规范RESTFul是一种HTTP API接口规范&#xff0c;只要满足的RESTFul规范&#xff0c;即可称为RESTFul API。既然是接口&#xff0c;我们先来了解一下&#xff0c;他和传统的API接口有何不同吧。本文以尽量简单明了的文字来介绍、描述&#xff0c;只讲核心内容&#xff0c…

求对一组数据进行排名的算法

为什么80%的码农都做不了架构师&#xff1f;>>> 我现在有一组数据&#xff0c;比如&#xff1a;25&#xff0c;19&#xff0c;29&#xff0c;3 怎么用java获得这组数据的排名&#xff0c;获得排名的结果应该是3&#xff0c;2&#xff0c;4&#xff0c;1 如果有相等…

移动端h5唤起键盘_移动端H5界面打开后,如何自动调用软键盘

test(){// let aa this.$refs.input1.blur();// this.$nextTick((x)>{ //正确写法// // this.$refs.inputs.focus();// // console.log(x)// // this.$refs.inp[0].$refs.input.focus();// },3000)// $api.dom(input).focus();// this.$refs.Inp.focus();// aa.focus();// …

一份数学小白也能读懂的「马尔可夫链蒙特卡洛方法」入门指南

在众多经典的贝叶斯方法中&#xff0c;马尔可夫链蒙特卡洛&#xff08;MCMC&#xff09;由于包含大量数学知识&#xff0c;且计算量很大&#xff0c;而显得格外特别。本文反其道而行之&#xff0c;试图通过通俗易懂且不包含数学语言的方法&#xff0c;帮助读者对 MCMC 有一个直…

使用 xunit 编写测试代码

使用 xunit 编写测试代码Introxunit 是 .NET 里使用非常广泛的一个测试框架&#xff0c;有很多测试项目都是在使用 xunit 作为测试框架&#xff0c;不仅仅有很多开源项目在使用&#xff0c;很多微软的项目也在使用 xunit 来作为测试框架。Get Started在 xunit 中不需要标记测试…

eclipse如何写python_(怎么用eclipse写python)python eclipse 使用教程

用eclipse写了python之后怎么回去写java?eclipse只是一个工具&#xff0c;开发java和python都是插件吧&#xff0c;有个Open Perspective可以选择你的开发视角怎么用eclipse写python方法/步骤如果不会Eclipse中配置搭建Python开发环建第一个File->New->Other弹出Selecta…

DBDesigner 4 与 MySql 5 不能连接主要是驱动的原因

DBDesigner 4 与 MySql 5 不能连接主要是驱动的原因&#xff0c;到 http://crlab.com/dbx/download.html 下载最新的驱动并安装&#xff0c;在安装路径中找到dbexpmda.dll这个文件拷贝到DBDesigner的安装路径中。 然后下载一个最新版本的libMYSQL.dll&#xff0c;也拷贝到DBDes…

白话AI:看懂深度学习真的那么难吗?初中数学,就用10分钟

如果在这个人工智能的时代&#xff0c;作为一个有理想抱负的程序员&#xff0c;或者学生、爱好者&#xff0c;不懂深度学习这个超热的话题&#xff0c;似乎已经跟时代脱节了。但是&#xff0c;深度学习对数学的要求&#xff0c;包括微积分、线性代数和概率论与数理统计等&#…

mysql特性举例_MySQL事务的四大特性和隔离级别

1、事务的四大特性(ACID)#### 1.1、原子性(Atomicity)原子性是指事务包含的一系列操作要么全部成功&#xff0c;要么全部回滚&#xff0c;不存在部分成功或者部分回滚&#xff0c;是一个不可分割的操作整体。1.2、一致性(Consistency)一致性是可以理解为事务对数据完整性约束的…

IdentityServer4密码模式

Oatuth2协议的密码模式介绍用户会将用户名&#xff0c;密码给予客户端&#xff0c;但是客户端不保存此信息&#xff0c;客户端带着用户的密码请求认证服务器&#xff0c;认证服务器密码验证通过后后将token返回给客户端。 这里借用下阮一峰老师画的图&#xff08;博客地址》htt…