(转载)从0开始学matlab(第8天)—matlab画图入门

news2024/11/22 22:22:28

1.基本画图方式

        MATLAB 的扩展性和机制独立的画图功能是一个极其重要的功能.这个功能使数据画图变得十分简单 . 画一个数据图 , 首先要创建两个向量,由 x, y 构成 , 然后使用 plot 函数. 例如 , 假设我们要画出函数 y=x² -10x+10 的图象 , 定义域为[ 0,10 . 只需要 3 个语句就可以画出此图 . 第二句用于计算 y ( 注意我们用的是数组运算符 , 所以可以对 x 的元素一一运算 .). 最后打印出此图 .
x=0:1:10; 
y=x.^2-10*x+15; 
plot(x,y);

        运行结果如图1所示:

图1

        正如我们所看到的, MATLAB 中画图是十分容易的 .只要任何一对向量的长度相同,那么它就可以就能可视化地画出来 . 但是这还不是最后的结果 , 因为它还没有标题 , 坐标轴标签, 网格线.给图增加标题和坐标轴标签将会用到 title, xlabel, ylable 函数。调用每个函数时将会有一个字符串,这个字符串包含了图象标题和坐标轴标签的信息。用 grid 命令可使网格线出现或消失在图象中,grid on 代表在图象中出现网格线,grid off 代表去除网格线。例如下面的语句将会产生带有标题,标签和网格线的函数图象。结果如图 2所示。
x=0:1:10; 
y=x.^2-10*x+15; 
plot(x,y); 
title ('Plot of y=x.^2-10*x+15'); 
xlabel ('x'); 
ylabel ('y'); 
grid on;

        在同一坐标内作出多个函数的图象的情况是十分常见的。假如,你要在同一坐标轴内作出 f(x)=sin2x 和他的微分函数的图象。它的微分式为

        在同一坐标系内打印两个函数,我们必须产生一系列的 x 值和每一个函数分别对应的 y值。然后利用这些值画出图象, plot 函数的格式如下所示:
x=0:pi/100:2*pi; 
y1=sin(2*x); 
y2=2*cos(2*x); 
plot (x,y1,x,y2);

        所得图像如图3所示:

2.线的颜色,线的形式,符号形式和图例

        MATLAB 允许程序员选择轨迹的颜色,轨迹的形式,和符号的类型.X,Y 向量参数后带有这些属性的字符串的 plot 函数,可以选择这些细节.这些属性字符串包括三类

1指定轨迹的颜色 ,
2指定符号的类型 ,
3指定线的类型 .
        各种颜色, 符号和线的类型将在表1 中显示 .
表1 图象的颜色,标记(符号)类型,线型

        这些属性字符串可以任意的混合使用. 如果有多个函数 ,每个函数都有它自己的属性字符串.例如 , 函数 y=x²   -10x+15 的图象 , 曲线为红色的虚线 , 重要的数值用蓝色的小圆圈表示 .

 

x=0:1:10; 
y=x.^2 -10.*x +15; 
plot(x,y,'r--',x,y,'bo');

        我们可以用 legend 来制作图例。它的基本的形式如下

legend('string1','string2',...,pos)

        其中 string1,string2 等等是与轨迹标签名,而 pos 是一个整数,用来指定图例的位置。这些整数所代表的意义在表2列出。用 legend off 命令将能去除多余的图例。一个完整的图象例子将会显示图 4中,产生这个图象的语句如下所示。在同一坐标系内,显示了f(x)=sin2x 和它的微分函数的图象,用黑实线代表 f(x),用红虚线代表它的微分函数。图中有标题,坐标轴标签和网格线。

x=0:pi/100:2*pi; 
y1=sin(2*x); 
y2=2*cos(2*x); 
plot(x,y1,'k-',x,y2,'b--'); 
title(' Plot of f(x)=sin(2x) and its derivative'); 
xlabel('x'); 
ylabel('y');
legend('f(x)','d/dx f(x)') 
grid on;

表2 pos值代表的含义

3对数坐标图

        画图既可以用对数尺度,也可以用线性尺度。在 x,y 轴上使用这两种尺度的一种或两种可以组合形成 4 种不同的坐标系。每一种组合者有一个特定的函数。
1.plot 函数的 x,y 均用线性尺度
2.semilogy  函数 x 轴用对数尺度, y 轴将用线性尺度
3.semilogx  函数 x 轴用线性尺度, y 轴用对数尺度
4.loglog 函数两坐标轴将会都用对数尺度。
x=0:0.1:10;
y=(x-5).^2+1;
subplot(2,2,1)
plot(x,y)
title('plot(x,y)')
subplot(2,2,2)
semilogy(x,y)
title('semilogy(x,y)')
subplot(2,2,3)
semilogx(x,y)
title('semilogx(x,y)')
subplot(2,2,4)
loglog(x,y)
title('loglog(x,y)')

        这四个函数在意义上是等价的,只是坐标轴的类型不同。每一个图象的例子如图5所示。

        最后,分享一个大佬制作的matlab画图速查表(来源于微信公众号:空间物理)

 

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

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

相关文章

分享两组不同的3D VR卡片

最近某音上出现了很多VR视频,转动手机可以看到手机界面未显示出来的场景。这种事情我觉得我们也可以做到。 所以两种不同的3D VR卡片来了: 第一种是横向或上下可以拖动极大的距离。卡片上的信息会随着拖动移动,但不会显示更多的信息&#x…

二、LLC 谐振变换器

半桥 LLC 谐振变换器主电路结构 如图所示,半桥 LLC 谐振变换器主电路可以分为四个部分,即:逆变网络、谐振网络、变压器及整流滤波网络。两个 MOSFET(S1、S2)以及它们的体二极管(D1、D2)和寄生电…

svn清理以下路径失败显示乱码问题

报错: svn作为我们经常使用的版本管理服务器,在使用过程中经常需要通过clean up操作来完成本地文件与服务器文件信息及版本信息同步, 然而有时右键会在执行清理命令时提示“清理以下路径失败: xxx 文件名、目录名或卷标语法不…

DevOps 的道术法器,探寻 DevOps “立体化”实践之旅

​引言 随着业务的发展,软件发布迭代的频率越来越高,传统的瀑布型模式已经不能满足快速交付的需求,DevOps 也因此受到持续关注。越来越多的公司开始接受并尝试使用 DevOps,期望能使得软件开发中的构建、测试与发布工作变得更加快捷…

进程与线程的理解

目录 一、进程 1、进程的简介: 2、进程的组成: 3、进程的状态 4、进程控制: 5、进程的创建: 6、进程的终止 7、进程的阻塞和唤醒 8、进程上下文切换 二、线程 1、线程: 2、线程的优缺点: 三、进程与线程 比…

火山引擎 DataLeap:3 步打造“指标管理”体系,幸福里数据中心是这么做的

更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 一家企业,为什么要搭建指标体系? 一句话总结来说,全面、合理的指标体系可以帮助企业统一目标,将业务环节量化&#…

1073. 负二进制数相加(leetcode,模拟,数学分析)-------------------c++实现

1073. 负二进制数相加(leetcode,模拟,数学分析)-------------------c实现 题目表述 给出基数为 -2 的两个数 arr1 和 arr2,返回两数相加的结果。 数字以 数组形式 给出:数组由若干 0 和 1 组成,按最高有效位到最低有…

Kubernetes1.26.3 高可用集群

Kubernetes1.26.3 高可用集群 0、服务器信息 服务器为腾讯云服务器(按需计费,按流量计费,并且将IP转换为弹性IP,使用结束可关机仅收取硬盘等固定资源费用) 服务器名称IP描述组件信息Kubernetes1124.223.218.159maste…

Matlab如何调用外部函数/工具包,如何将新函数加到默认函数库中

自从开始制作、分享工具包,我被问到最多的一个问题是: “XXX工具包怎么用?” 而我给出的回答通常是: “放在你代码文件夹,当函数调用。” 什么意思呢? 方法1 比如在名为“1”的文件夹中放着我们想要运…

TreeSet源码分析

概述 TreeSet ,基于 TreeSet 的 Set 实现类。在业务中,如果我们有排重 排序的需求,一般会考虑使用 TreeSet #TreeSet的继承关系 TreeSet的内部属性 m 的 key ,存储 HashSet 的每个 key 。 map 的 value ,因为 TreeSe…

DJ5-3 多路访问链路和协议

目录 一、网络链路 二、广播信道要解决问题 三、多路访问协议 1、基本介绍 2、多路访问协议的类型(3) 四、信道划分协议 1、时分多路访问 TDMA 2、频分多路访问 FDMA 3、码分多路访问 CDMA(略) 五、随机访问协议 1、纯…

基于AD96808 FMC 模块,支持8 路14-bit、500MSPS/1GSPS/1.25GSPSADC 采集功能

板卡概述 FMC-XM148 是一款基于VITA57.4 标准的JESD204B 接口FMC 子卡模块,该模块可以实现8 路14-bit、500MSPS/1GSPS/1.25GSPSADC 采集功能。该板卡ADC 器件采用ADI 公司的AD9680 芯片,全功率-3dB 模拟输入带宽可达2GHz。该ADC 与FPGA 的主机接口通过16 通道的高速…

ThingsBoard自定义分发节点duplicate to related

------------------------------------内容仅博主所有,订阅者请勿泄露,感谢--------------------- 1、概述 大家好,我又更新干货了,还是那句话,我绝不像某些博主“拿我格子衫”分享那些照抄官网翻译的东西来骗订阅,我觉得那是浪费时间,要搞就搞干货,今天给大家分享Th…

高端制造业国产化是未来高质量发展的必经之路

在当前全球经济的大背景下,高端制造业已成为各国竞争的焦点。中国作为世界第二大经济体,也在高端制造业领域发挥着越来越重要的作用。然而,我们必须清醒地认识到,目前我国高端制造业的发展还面临着一些困难和挑战,其中…

国产高性能DSP音频处理芯片的工作原理以及应用领域

DSP芯片是数字信号处理器的简称,它是一种专门用于数字信号处理的微处理器,它可以对数字信号进行高速运算和处理。DSP是一类嵌入式通用可编程微处理器,主要用于实现对信号的采集、识别、变换、增强、控制等算法处理,是各类嵌入式系…

ChatGPT 高效对话-学习使用提示语Prompts​

我们整理了一些可以帮助你学习如何使用ChatGPT的资源,包括吴恩达教授最新推出的官方ChatGPT提示词工程师课程的中文B站视频资源,一些插件、使用ChatGPT的标准范式等。 我们将这些所有的相关网址收录到 webhub123 ChatGPT 高效对话-学习使用提示语Promp…

【LeetCode】326. 3 的幂

326. 3 的幂&#xff08;简单&#xff09; 方法一&#xff1a;试除法 思路 我们可以先进行特殊点判断&#xff0c;n < 0 的数都不可能是 3 的幂次方。接着&#xff0c;当 n > 0 且 n 能被 3 整除 时&#xff0c;我们对其整除 3 &#xff0c;直到该条件不满足&#xff…

MyBatis之缓存机制

缓存即为存在内存中的临时数据.将用户经常查询的数据存放在缓存(内存)中,用户去查询数据就不用去每次去数据库中查询,而是去缓存中查询,从而提高了查询的效率,解决了高并发系统的性能问题.MyBatis提供了两种缓存机制&#xff1a;一级缓存&#xff08;本地&#xff09;和二级缓存…

thinkphp6 消息队列think-queue(完整版)

1.安装队列依赖 如果是在Linux上&#xff0c;进入thinkphp项目的think文件所在目录&#xff0c;执行安装命令 composer require topthink/think-queue 2.修改queue的配置文件&#xff0c;文件位置config/queue.php(安装成功后自动生成) <?php return [default >…

Python实现ACO蚁群优化算法优化循环神经网络回归模型(LSTM回归算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 蚁群优化算法(Ant Colony Optimization, ACO)是一种源于大自然生物世界的新的仿生进化算法&#xff0c…