MATLAB基础教程(10)——二维中的数据可视化

目录

MATLAB数据可视化

绘图

在同一个figure里面绘制多个图形

本期小结


MATLAB数据可视化


绘图

绘制图形(二维)一般使用plot函数,这个函数一般能满足很多画图的功能了,比如我们能绘制一个函数图像:

代码如下:

%% 使用plot绘图clear all;syms x; % 声明一个符号xx = 0:0.01:20; % 给定范围f = sin(x); % 声明函数figure; % 打开绘图窗口plot(f); % 画图title('y=sinx');

里面的知识之前都涉及到了,大家还有没有印象。

除了绘制函数,也能绘制矩阵,还记得怎么定义一个矩阵吗?忘了的小伙伴们可以看下面的代码回忆一下

%% 绘制矩阵图像clear all;A = [4 1 -2;2 2 1;3 1 -1]; % 定义一个矩阵figure;plot(A);title('一个矩阵');

大家不妨先设想一下,如果是你来设计软件,你怎么去绘制一个矩阵的图像呢?

在matlab中,它们的解决方案是使用折线图绘制矩阵,横坐标代表第几个,每一行用一条线表示,纵坐标表示某个横坐标处的高度,下面是绘制的图像:

下面以函数为例,现在我感觉这个线不行,我想换成虚线、换成其他颜色,甚至我想用其他符号代替,怎么办呢?下面有个表格:

假设我想用青色、虚线,用o画一条线,那么我的参数应该是这样的(参数在plot里面):

'--oc'或'o--c'或'c--o'或其他,不区分顺序,并且也可以省略其中任意个,例如我的程序:

%% 使用plot绘图clear all;syms x; % 声明一个符号xx = 0:0.01:20; % 给定范围f = sin(x); % 声明函数figure; % 打开绘图窗口plot(f,'o--c'); % 画图title('y=sinx o--c');


在同一个figure里面绘制多个图形

我们经常遇到一些情况,需要在同一幅图里面比较多个函数,这就需要画在一起来对比,比如我们比较tanx和sinx和x在0-pi/2之间的大小时,这时候需要做如下处理,我们就能很轻易地看出tanx>x>sinx这个结论了(0<x<pi/2时):

此时的代码如下(范围我为什么不写pi/2呢,大家可以试一下,tanx在->pi/2时趋于无穷大):

%% 同时绘制多个函数在一起clear all;syms x;x = 0:0.01:pi/3; % 设置x的取值范围% f = [sin(x);% tan(x);% x]; % 定义一个函数的矩阵f = [sin(x);tan(x);x];figure;plot(x, f);

注意,这里我的plot的参数是两个,之前,参数是一个,只有一个 f 传了进去,其实,之前使用plot传递一个参数,画的图是一个向量的图,因为f 里面存储的是x区间对应的取值。

比如上面代码,x = 0:0.01:pi/3,意思是,在0-pi/3的范围中,从0开始,每隔0.01取值,所以x是一个一维的数组:

[0, 0.01, 0.02 ...............................]

所以f 存储的仅仅是每个x 值对应的函数结果,而此时调用plot,绘制的是这个向量。

此时,我们使用 plot(x, f),绘制的不再是向量了,而是一组坐标,第一个是横坐标,第二个是纵坐标,所以我们把x 放在第一个参数位置,f 放在第二个参数位置,如果上面代码中使用 plot(f, x),则会是这样的图形:

因为此时plot 将 f 作为横坐标,x 作为纵坐标来绘制图形,所以你会看到一个和上面的图像关于 y=x 对称的图像。

但是,plot(x, f) 绘图的本质仍然是对这 x 区间里的很多点的绘制。

我们使用x = 0: 0.5: pi/3 和 x = 0:0.001:pi/3 两种区间的图像是截然不同的:

 

出现这种现象的原因,主要就是打点的问题了,在第一种里,x仅仅取到了三个点:

而后面的 x = 0:0.001:pi/3 则取到了上千个打点处,

而我们上数学课时也都知道,画的点越多,连接各点画出来的图形越光滑、精确,这就是这两个图像出现的原因。


本期小结

相比于前几期的内容,本期内容似乎有点轻松,但是我感觉也算是讲清楚了plot的用法(至少现阶段绝对是够用了,并且能准确的理解里面的内容),下面来小结一下吧:

  1. 学会了使用plot绘制一个向量
  2. 学会了使用plot绘制一个函数图像
  3. 学会了使用plot绘制一个矩阵的折线图
  4. 学会了绘制多个函数在同一个图像中
  5. 懂得了x 和函数 f 的实质内容
  6. 学会了定制绘图的曲线样式。

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

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

相关文章

gen2服务器只显示spbc,gen2-regen培训资料.ppt

gen2-regen培训资料,regen,regen丽珍,regen面膜,auchimregen,manaregen,regenmode,cadregen,otisregen,regenhu概述 GeN2-Regen模型图 E&I Panel SPBC 介绍 电池检查 SPBC 功能按钮介绍 SPBC 各状态灯介绍 ERO&MRO操作说明 手动松闸检查 (E/I-panel) P5T/P6T使用 控制柜…

Spring Boot 分布式会话

应用范围 为了使Web能适应大规模的访问,需要实现应用程序的集群部署实现集群部署首先要解决session的统一&#xff0c;即需要实现session的共享机制&#xff0c;即分布式会话分布式Session的实现方式 基于resin/tomcat web容器本身的session复制机制基于NFS共享文件系统基于Coo…

没有bug队——加贝——Python 练习实例 29,30

目录 29.题目&#xff1a; 30.题目&#xff1a; 彩蛋&#xff1a; 扩展资料 29.题目&#xff1a; 给一个不多于5位的正整数&#xff0c;要求&#xff1a;一、求它是几位数&#xff0c;二、逆序打印出各位数字。 程序分析&#xff1a;学会分解出每一位数。 注&#xff1a;…

Spring Boot Redis

Redis简介 Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库&#xff0c;并提供多种语言的API。 存储类型 和Memcached类似&#xff0c;它支持存储的value类型相对更多&#xff0c;包括string(字符串)、list(链表)、set(集合…

没有bug队——加贝——Python 练习实例 31,32

31.题目&#xff1a; 请输入星期几的第一个字母来判断一下是星期几&#xff0c;如果第一个字母一样&#xff0c;则继续判断第二个字母。 程序分析&#xff1a;用情况语句比较好&#xff0c;如果第一个字母一样&#xff0c;则判断用情况语句或if语句判断第二个字母。用 if 语句…

MATLAB基础教程(11)——二维中的数据可视化(续)

目录 今天目标&#xff1a; 画一个图像并且给图像加上标题 子图绘制 一些小知识 grid 设置框线 box 设置边框 polar() 绘图 今天小结 今天目标&#xff1a; 画一个图像并且给图像加上标题 首先我们画一张很简单的图形&#xff0c;比如就画一个y cos x 的图像吧。 代码…

Spring Boot 返回XML

一般RESTful都是返回json&#xff0c;有时候可能需要返回xml&#xff0c;我们该如何操作呢&#xff1f; Jackson Maven增加jar文件导入 <dependency><groupId>com.fasterxml.jackson.dataformat</groupId><artifactId>jackson-dataformat-xml</a…

Spring Boot application.properties 常用配置

SPRING CONFIG (ConfigFileApplicationListener) spring.config.name配置文件名称&#xff0c;默认为application spring.config.location配置文件存放位置&#xff0c;默认为classpath目录下 mvc spring.mvc.async.request-timeout设定async请求的超时时间&#xff0c;以毫…

没有bug队——加贝——Python 练习实例 33,34

目录 33.题目&#xff1a; 小知识&#xff1a; 参数 返回值 我们换种写法&#xff1a; 34.题目&#xff1a; 我们也换种写法&#xff1a; 33.题目&#xff1a; 按逗号分隔列表。 小知识&#xff1a; join() 方法用于将序列中的元素以指定的字符连接生成一个新的字符串…

没有bug队——加贝——Python 练习实例 35,36

目录 35.题目&#xff1a;文本颜色设置。 小知识&#xff1a; 36.题目&#xff1a;求100之内的素数。 何为素数&#xff1f; 35.题目&#xff1a;文本颜色设置。 class bcolors:HEADER \033[95mOKBLUE \033[94mOKGREEN \033[92mWARNING \033[93mFAIL \033[91mENDC …

C语言各种类型数据的输出显示

之前我们使用 puts 来输出字符串。puts 是 output string 的缩写&#xff0c;只能用来输出字符串&#xff0c;不能输出整数、小数、字符等&#xff0c;我们需要用另外一个函数&#xff0c;那就是 printf。 printf 比 puts 更加强大&#xff0c;不仅可以输出字符串&#xff0c;…

没有bug队——加贝——Python 练习实例 37,38

目录 37.题目&#xff1a;对10个数进行排序。 Python sort()方法 语法 参数 返回值 Python sorted函数及用法 语法 返回值 38.题目&#xff1a;求一个3*3矩阵主对角线元素之和。 37.题目&#xff1a;对10个数进行排序。 程序分析&#xff1a;可以利用选择法&#xff…

C语言中的整数

整数是编程中常用的一种数据&#xff0c;C语言通常使用int来定义整数&#xff08;int 是 integer 的简写&#xff09;。 现代操作系统中&#xff0c;int 一般占用 4 个字节&#xff08;Byte&#xff09;的内存&#xff0c;共计 32 位&#xff08;Bit&#xff09;。如果不考虑正…

没有bug队——加贝——Python 39,40

目录 39.题目&#xff1a;有一个已经排好序的数组。现输入一个数&#xff0c;要求按原来的规律将它插入数组中。 40.题目&#xff1a;将一个数组逆序输出。 39.题目&#xff1a;有一个已经排好序的数组。现输入一个数&#xff0c;要求按原来的规律将它插入数组中。 程序分析…

C++ PAT 乙级 ——1002 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。

C PAT 乙级 ——1002 读入一个正整数 n&#xff0c;计算其各位数字之和&#xff0c;用汉语拼音写出和的每一位数字。 题目分析 &#xff08;1&#xff09;由于自然数n的范围要求小于10^100&#xff0c;unsigned long long不满足要求&#xff0c;采用int型数组也难以输入&…

C语言中的二进制、八进制和十六进制的表示

二进制数、八进制数和十六进制数的表示 一个数字默认就是十进制的&#xff0c;表示一个十进制数字不需要任何特殊的格式。但是&#xff0c;表示一个二进制、八进制或者十六进制数字就不一样了&#xff0c;为了和十进制数字区分开来&#xff0c;必须采用某种特殊的写法&#xf…

没有bug队——加贝——Python 41,42

41.题目&#xff1a;模仿静态变量的用法。 python中是不支持静态变量的&#xff0c;所以可以通过以下的方法来实现静态变量的功能&#xff1a; 代码1&#xff1a; class CTest(object):#python静态变量实现方法i__initNonedef __new__(cls,value):if cls.i__init is None:cl…

C语言中的正负数及其输出

在数学中&#xff0c;数字有正负之分。在C语言中也是一样&#xff0c;short、int、long 都可以带上正负号&#xff0c;示例 //负数 short a1 -10; short a2 -0x2dc9; //十六进制 //正数 int b1 10; int b2 0174; //八进制 int b3 22910; //负数和正数相加 long c (-9)…

C++ PAT 乙级 ——1003 我要通过

题目详情 答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件&#xff0c;系统就输出“答案正确”&#xff0c;否则输出“答案错误”。 得到“答案正确”的条件是&#xff1a; 字符串中必须仅有 P、 A、…

C语言中的小数

小数分为整数部分和小数部分&#xff0c;它们由点号.分隔&#xff0c;例如 0.0、78.0、4.023、0.27、-927.148 -0.57 等都是合法的小数&#xff0c;这是最常见的小数形式&#xff0c;我们将它称为十进制形式。 此外&#xff0c;小数也可以采用指数形式&#xff0c;例如 7.2510…