MATLAB学习笔记(一):几个常用函数的复习(disp、line、text、figure、plot)

2024-04-29 05:58

本文主要是介绍MATLAB学习笔记(一):几个常用函数的复习(disp、line、text、figure、plot),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

寒暄:终于放寒假了!昨天刚到家,论文先放一边,今天先复习一波MATLAB几个常用函数,更它一篇!

一、 disp() —— 显示文本或数组

1. 语法:
 disp(argument);
//说明:
//如果参量是数组,则显示数组的内容;
//如果参量是字符串,则显示字符串文本的内容。
2. 实例:
2.1 输出数字
>> num = 1;
>> disp(num);输出:
1
2.2 输出字符串
>> disp(this is string’);输出:
this is string
2.3 输出数字和字符串
>> num = 1;
>> disp([‘num:,num2str(num)]);输出:
num:1
2.4 输出数组
>> a=[1 2 3];
>> disp(a);输出:
1 2 3

二、 figure() —— 创建/切换图窗窗口

1. 语法
//语法1:创建一个新的窗口,所有参数采用默认
figure;//语法2:指定窗口ID,n为ID,且需为正整数,否则报错
figure(n);//语法3:可以指定窗口的某些属性
//PropertyName:所选属性名,可选的有toolbar、NumberTitle、position、name、menubar;
//propertyvalue:对应的属性值。
figure('PropertyName',propertyvalue,...);//语法4:返回窗口的句柄,且n为窗口ID
h = figure(n);  

备注:(语法3常用的几类属性如下)

(1)窗口外观

属性名属性值说明
MenuBar‘figure’ (默认)或 ‘none’菜单栏显示方式
ToolBar‘auto’ (默认)或 ‘figure’工具栏显示
DockControls‘on’ (默认)或 ‘off’交互式停靠
ColorRGB 三元组、十六进制颜色代码、颜色名称或短名称背景色
WindowStyle‘normal’ (默认)或 ‘modal’ 或 ‘docked’窗口样式
WindowState‘normal’ (默认)或 ‘minimized’ 或 ‘maximized’ 或 ‘fullscreen’窗口状态

(2)位置

属性名属性值说明
Position四元组,如: [left bottom width height]可绘制区域的位置和大小
Units‘pixels’ (默认) 或 ‘normalized’ 或 ‘inches’ 或 ‘centimeters’ 或 ‘points’ 或 ‘characters’测量单位
InnerPosition四元组,如:[left bottom width height]可会知区域的位置和大小
OuterPosition四元组,如:[left bottom width height]外部边界的位置和大小
Resize‘on’ (默认)或‘off’

(3)绘图

属性名属性值说明
Colormapparula (默认)或 由 RGB 三元组组成的 m×3 数组图窗坐标区内容的颜色图
Alphamap由从 0 到 1 的 64 个值组成的数组 (默认) 或 由从 0 到 1 的有限 alpha 值组成的数组Axes 内容的透明度映射
NextPlot‘add’ (默认)或 ‘new’ 或 ‘replace’ 或 ‘replacechildren’有关如何添加下一绘图的指令
Renderer‘opengl’ (默认)或 ‘painters’渲染器
RendererMode‘auto’ (默认)或 ‘manual’渲染器选择
GraphicsSmoothing‘on’ (默认)或 ‘off’坐标区图形平滑处理

*Figure详细属性可在官网文档查看,下方给出超链接。

点击跳转至《MathWork文档:Figure属性》

2. 实例
2.1 默认创建新窗口
>> figure;
2.2 指定窗口ID
>> figure(2);
2.3 指定窗口某些属性
//指定窗口的标题
>> figure('name','窗口1');
//其中属性值为一个四元数组 rect = [left, bottom, width, height];
//第一、二个参数表示窗口位置,都是从屏幕的左下角计算的。
>> figure('position',[600, 300, 300, 200]);
//指定窗口的标题和窗口的背景颜色
>> figure('Name','窗口1','color','b');
//将f1窗口的背景色属性设置为蓝色
>> f1 = figure(1); 
>> set(f1,'Color','r'); 
//关闭默认显示窗口标题
>> figure('NumberTitle','off');    
//不显示工具栏、菜单栏
>> figure('toolbar','none','menubar','none');  

三、 plot() —— 绘制二维图像

1. 语法
plot(Y);
//如果Y是m×n的数组,以1:m为X横坐标,Y中的每一列元素为Y坐标,绘制n条曲线;
//如果Y是n×1或者1×n的向量,则以1:n为横坐标,Y为坐标表绘制1条曲线;
//如果Y是复数,则plot(Y)等效于plot(real(Y),imag(Y));
//其它使用情况下,忽略坐标数据中的虚部。
plot(X,Y,...)
//如果X和Y都是数组,按列取坐标数据绘图,此时它们必须具有相同的尺寸;
//如果X和Y其中一个是向量另一个为数组,X和Y中尺寸相等的方向对应绘制多条曲线;
//如果X和Y其中一个是标量另一个为向量,那么将绘制垂直X或者Y轴离散的点。
plot(x,y,LineSpec,...);
//通过参数LineSpec指定曲线的曲线属性,它包括线型、标记符和颜色
plot(x,y,'PropertyName',ProperValue,...);
//设置由plot创建的所有曲线句柄对象的属性,Line对象属性和属性值参见附录;
//具体设置参考下面的实例,当然可以使用set/get进行设置

备注:(可选的属性如下)

线型说明标记符说明颜色说明
-实线(默认)+加号r红色
双划线o空心圆g绿色
:虚线*星号b蓝色
:.点划线.实心圆c青绿色
x叉号符m洋红色
s正方形y黄色
d菱形k黑色
^上三角形w白色
v下三角形
>右三角形
<左三角形
p五角星
h六边形

下面四个属性设置标识符的颜色和大小:(四个属性是针对当前坐标系中所有曲线的)
(1)LineWidth : 指定线宽
(2)MarkerEdgeColor : 指定标识符的边缘颜色
(3)MarkerFaceColor : 指定标识符填充颜色
(4)MarkerSize : 指定标识符的大小

设置曲线线型、标识符和颜色三项属性时,控制符的顺序不受限制并可以省略或者部分省略。

2. 实例
2.1 创建线图
>> x = 0:pi/100:2*pi;
>> y = sin(x);
>> plot(x,y)

执行结果:

2.2 创建多个线条
>> x = linspace(-2*pi,2*pi);
>> y1 = sin(x);
>> y2 = cos(x);>> figure
>> plot(x,y1,x,y2)

执行结果:

2.3 根据矩阵创建线图
>> Y = magic(4);
>> figure;
>> plot(Y);

执行结果:

2.4 指定线型
>> 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.5 指定线型、颜色和标记
>> x = 0:pi/10:2*pi;
>> y1 = sin(x);
>> y2 = sin(x-0.25);
>> y3 = sin(x-0.5);>> figure;
>> plot(x,y1,'g',x,y2,'b--o',x,y3,'c*');

执行结果:

2.6 在特定的数据点显示标记
>> x = linspace(0,10);
>> y = sin(x);
>> plot(x,y,'-o','MarkerIndices',1:5:length(y));

执行结果:

2.7 指定线宽、标记大小和标记颜色
>> x = -pi:pi/10:pi;
>> y = tan(sin(x)) - sin(tan(x));>> figure
>> plot(x,y,'--gs',...'LineWidth',2,...'MarkerSize',10,...'MarkerEdgeColor','b',...'MarkerFaceColor',[0.5,0.5,0.5])

执行结果:

2.8 添加标题和轴标签
>> x = linspace(0,10,150);
>> y = cos(5*x);>> figure
>> plot(x,y,'Color',[0,0.7,0.9])>> title('2-D Line Plot')
>> xlabel('x')
>> ylabel('cos(5x)')

执行结果:

2.9 绘制持续时间并指定刻度格式
>> t = 0:seconds(30):minutes(3);
>> y = rand(1,7);>> plot(t,y,'DurationTickFormat','mm:ss')

执行结果:

2.10 指定线图的坐标区
>> ax1 = subplot(2,1,1); % top subplot
>> x = linspace(0,3);
>> y1 = sin(5*x);
>> plot(ax1,x,y1)
>> title(ax1,'Top Subplot')
>> ylabel(ax1,'sin(5x)')>> ax2 = subplot(2,1,2); % bottom subplot
>> y2 = sin(15*x);
>> plot(ax2,x,y2)
>>title(ax2,'Bottom Subplot')
>>ylabel(ax2,'sin(15x)')

执行结果:

2.11 创建并修改线条
>> x = linspace(-2*pi,2*pi);
>> y1 = sin(x);
>> y2 = cos(x);
>> p = plot(x,y1,x,y2);>> p(1).LineWidth = 2;
>> p(2).Marker = '*';

执行结果:

2.12 绘制圆形
>> r = 2;
>> xc = 4;
>> yc = 3;>> theta = linspace(0,2*pi);
>> x = r*cos(theta) + xc;
>> y = r*sin(theta) + yc;
>> plot(x,y)
>> axis equal

执行结果:

四、 text() —— 向数据点添加文本说明

1. 语法
text(x,y,txt)
//x,y是位置,txt是说明文字;
//如果说明文字是数字,则这样写:text(x,y,num2str(1));
//设置说明文字颜色,这样写:text(x,y,txt,'color','k')
2.实例
2.1 向数据点添加文本说明
>> x = 0:pi/20:2*pi;
>> y = sin(x);
>> plot(x,y)
>> text(pi,0,'\leftarrow sin(\pi)')

执行结果:

2.2 向多个数据点添加文本

方式一:

>> x = linspace(-5,5);
>> y = x.^3-12*x;
>> plot(x,y)>> xt = [-2 2];
>> yt = [16 -16];
>> str = 'dy/dx = 0';
>> text(xt,yt,str)

方式二:

>> x = linspace(-5,5);
>> y = x.^3-12*x;
>> plot(x,y)>> xt = [-2 2];
>> yt = [16 -16];
>> str = {'local max','local min'};
>> text(xt,yt,str)
2.3 显示多行文本

方式一:

>> plot(1:10)
>> str = {'A simple plot','from 1 to 10'};
>> text(2,7,str)

方式二:

>> plot(1:10)
>> str = {{'A simple plot','from 1 to 10'},'y = x'};
>> text([2 8],[7 7],str)
2.4 指定文本大小和颜色
>> plot(1:10)
>> text(2,8,'A Simple Plot','Color','red','FontSize',14)
2.5 修改现有文本
>> x = linspace(-5,5);
>> y = x.^3-12*x;
>> plot(x,y)
>> t = text([-2 2],[16 -16],'dy/dx = 0')>> t(1).Color = 'red';
>> t(1).FontSize = 14;

五、line() —— 绘制线条

1. 语法
line(X,Y)
//X为横坐标向量,[起点横坐标,终点横坐标];
//Y为纵坐标向量,[起点纵坐标,终点纵坐标]。
line(X,Y,'PropertyName',PropertyValue,...)
2. 实例
2.1 使用向量数据绘制线条
>> line([1,2],[3,4])
2.2 使用矩阵数据绘制多个线条
>> a=[1:4;1:4];
>> b=[zeros(1,4);ones(1,4)*4];
>> line(a,b);
2.3 使用三维坐标绘制线条
>> t = linspace(0,10*pi,200);
>> x = sin(t);
>> y = cos(t);
>> z = t;
>> line(x,y,z)
>> view(3)
2.4 使用低级别语法绘制线条
>> x = linspace(0,10);
>> y = sin(x);
>> line('XData',x,'YData',y)
2.5 指定线条属性
>> x = [1 9];
>> y = [2 12];
>> line(x,y,'Color','red','LineStyle','--')
2.6 创建后更改线条属性
>> x = [3 2];
>> y = [15 12];
>> pl = line(x,y);>> pl.Color = 'green';
>> pl.LineStyle = '--';

这篇关于MATLAB学习笔记(一):几个常用函数的复习(disp、line、text、figure、plot)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/945261

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

JS常用组件收集

收集了一些平时遇到的前端比较优秀的组件,方便以后开发的时候查找!!! 函数工具: Lodash 页面固定: stickUp、jQuery.Pin 轮播: unslider、swiper 开关: switch 复选框: icheck 气泡: grumble 隐藏元素: Headroom

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

每天认识几个maven依赖(ActiveMQ+activemq-jaxb+activesoap+activespace+adarwin)

八、ActiveMQ 1、是什么? ActiveMQ 是一个开源的消息中间件(Message Broker),由 Apache 软件基金会开发和维护。它实现了 Java 消息服务(Java Message Service, JMS)规范,并支持多种消息传递协议,包括 AMQP、MQTT 和 OpenWire 等。 2、有什么用? 可靠性:ActiveMQ 提供了消息持久性和事务支持,确保消

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

hdu1171(母函数或多重背包)

题意:把物品分成两份,使得价值最接近 可以用背包,或者是母函数来解,母函数(1 + x^v+x^2v+.....+x^num*v)(1 + x^v+x^2v+.....+x^num*v)(1 + x^v+x^2v+.....+x^num*v) 其中指数为价值,每一项的数目为(该物品数+1)个 代码如下: #include<iostream>#include<algorithm>

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

常用的jdk下载地址

jdk下载地址 安装方式可以看之前的博客: mac安装jdk oracle 版本:https://www.oracle.com/java/technologies/downloads/ Eclipse Temurin版本:https://adoptium.net/zh-CN/temurin/releases/ 阿里版本: github:https://github.com/

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]