Matlab(4)

一、Basic plotting

1.plot()

plot(x,y) :x图片中点的横坐标,y图片中点的纵坐标

plot(y) :y图片中点的纵坐标,x图片中点的横坐标默认为1,2,3,4,5........

plot(cos(0:pi/20:2*pi))

y —纵坐标的范围是0~2\pi,每个间隔\pi/ 20

2. hold on / off

① 无 hold on / off

plot(cos(0:pi/20:2*pi));
plot(sin(0:pi/20:2*pi));

只画sin(x),不画cos(x),因为sin(x)cos(x)的图片覆盖

② 有 hold on / off

hold on
plot(cos(0:pi/20:2*pi));
plot(sin(0:pi/20:2*pi));
hold off

sin(x)cos(x)的图像叠加

3. Plot Style

plot(x,y, ' str ')

hold on
plot(cos(0:pi/20:2*pi),'or--');
plot(sin(0:pi/20:2*pi),'xg:');
hold off

str 可以是以下三种类型,' str '里面填写每列右边一列

linsepec()可以查找更多

4. legend()

hold on
x = 0:0.5:4*pi;
y = sin(x); h = cos(x); w = 1./(1+exp(-x));
g = (1/(2*pi*2)^0.5).*exp((-1.*(x-2*pi).^2)./(2*2^2));
plot(x,y,'or--',x,h,'xg:',x,w,'bd-',x,g,'c^-');
% plot(cos(0:pi/20:2*pi),'or--');
% plot(sin(0:pi/20:2*pi),'xg:');
% 上面两条线可以联合写成下面这种形式
% plot(x,cos(0:pi/20:2*pi),'or--',x,sin(0:pi/20:2*pi),'xg:');
legend('sin(x)','cos(x)','Sigmoid','Gauss function');
hold off

5. title()and ?label()

title()、xlabel()、ylabel()、zlabel()

hold on
x = 0:0.5:4*pi;
y = sin(x); h = exp(-x); 
plot(x,y,'or--',x,h,'xg:');
% plot(cos(0:pi/20:2*pi),'or--');
% plot(sin(0:pi/20:2*pi),'xg:');
% 上面两条线可以联合写成下面这种形式
% plot(x,cos(0:pi/20:2*pi),'or--',x,sin(0:pi/20:2*pi),'xg:');
title('Fuction Plots of sin(t) and e^{-x}');
xlabel('x =  0 to 4\pi');
ylabel('value of sin(x) and e^{-x}');
legend('sin(x)','e^{-x}');
hold off

在 图片x轴,y轴和标题上显示公式时需要 LaTex 语言

6. text()and annotation()

① line( [2,2] , [0,2^2^sin(2)] )

两点确定一条直线,[ 2 , 2 ]两点的横坐标,[ 0 , 2^2^sin(2) ]两点的纵坐标

② text(0.25,2.5,str,'Interpreter','latex');

图片中显示的标题使用LaTex语言

③ annotation('arrow','X',[0.32,0.5],'Y',[0.6,0.4]);
添加箭头,箭头的两个点横坐标分别占图幅的0.32和0.5,纵坐标分别占图幅的0.6和0.4

x = linspace(0,3);
y = x.^ 2.* sin(x);
plot(x,y);
line([2,2],[0,2^2*sin(2)]);
str = '$$ \int_{0}^{2} x^2\sin{x} dx $$';
text(0.25,2.5,str,'Interpreter','latex');
annotation('arrow','X',[0.32,0.5],'Y',[0.6,0.4]);

7. Fiegure Adjustment

 set( gcf,' Color ',[1,1,1] )

gcf 是 Figure object 的句柄,设置Figure object 的颜色为黑色:'Color',[1,1,1]

x = linspace(0,2*pi,1000);
y = sin(x);
plot(x,y);
set(gcf,'Color',[1,1,1]);

8. Figure Properties

9. Handle  of An Object

figure 的句柄是关键字 gcf ,Axes 的句柄是 gca,

获得Line句柄的语句是 h  = plot(x,y);

其他句柄列表如下

10. Fetching and Modifying Properties

得到设置属性get()和设置属性set()

x = linspace(0,2*pi,1000);
y = sin(x);
h = plot(x,y);
get(h)  #得到Line(h)的句柄,可通过查看变量h来看
set(gcf,'Color',[1,1,1]);

二、Getting Object Properties

get(gca);get(gcf);h = plot(x,y),get(h)

1. Setting Axes Limits

set(gca,'XLim',[0,2*pi]);
set(gca,'YLim',[-1.2,1.2]);

XLim设置的是 x 轴的范围 0 ~ 2\pi,YLim设置的是 y 轴的范围 -1.2 ~ 1.2

或者也可以用下面这种写法

xlim([0,2*pi]);
ylim([-1.2,1.2]);

2. Setting Font and Tick of Axes

x = linspace(0,2*pi,1000);
y = sin(x);
h = plot(x,y);
get(h)
set(gcf,'Color',[1,1,1]);
set(gca,'XLim',[0,2*pi]);
set(gca,'YLim',[-1.2,1.2]);
set(gca,'FontSize',25);
set(gca,'XTick',0:pi/2:2*pi);
set(gca,'XTickLabel',0:90:360);
set(gca,'FontName','Latex');
set(gca,'XTickLabel',{'0','\pi/2','\pi','3\pi/2','2\pi'});

set(gca,'FontSize',25); 设置坐标轴字体大小为25

set(gca,'XTick',0:pi/2:2*pi); 设置坐标轴范围是0~2\pi,间隔是\pi/2.

set(gca,'XTickLabel',0:90:360); 设置坐标轴等间隔下的表示数字

set(gca,'FontName','Latex'); 设置坐标轴字体格式是Latex语言

set(gca,'XTickLabel',{'0','\pi/2','\pi','3\pi/2','2\pi'}); 设置坐标轴输出内容 0 ~ 2\pi

3. Line Specification

x = linspace(0,2*pi,1000);
y = sin(x);
h = plot(x,y);
get(h)
set(h,'LineStyle','-.', ...'LineWidth',7.0,'Color','g');

set(h,'LineStyle','-.', 'LineWidth',7.0,'Color','g');

设置LineStyle是:' -. ' 虚实线

设置LineWidth是:0.7,虚实线的粗细是0.7

设置Color虚实线的颜色是:绿色

4. Maker Sepecifiction

坐标轴下面的字体大小 FontSize设置为18;
线宽LineWidth是2,图形标记边缘颜色MarkerEdgeColor是黑色,图形标记内部颜色MarkerFaceColor是绿色,图形标记MarkerSize的大小是10。

x = rand(20,1);
set(gca,'FontSize',18);
plot(x,'-md','LineWidth',2,'MarkerEdgeColor','k','MarkerFaceColor','g','MarkerSize',10);
xlim([1,20]);

practise

hold on
x = linspace(1,2);
f = x .* x;
g = sin(2 * pi .* x);
plot(x,f,'-k','LineWidth',2);
plot(x,g,'or','MarkerFaceColor','m');
xlabel('Time(ms)');
ylabel('f(t)');
title('Mini Assignment #1');
legend('t^{2}','sin(2\pit)');
hold off

5. Multiple Figures

figure,plot(x,y1);  画图,该语句需要使用两次,以免新画的图覆盖原来画的图

x = -10:0.1:10;
y1 =  x .* 2 -8;
y2 = exp(x);
figure,plot(x,y1);
figure,plot(x,y2);

6. Figure Position and Size

figure(' Position ',[ left,bottom,width,height ] );

7. Several Plots in One Figure

subplot(m,n,1);

8. subplot()

t = 0:0.1:2*pi;
x = 3*cos(t);
y = sin(t);
subplot(2,2,1);plot(x,y);axis normal;
subplot(2,2,2);plot(x,y);axis square;
subplot(2,2,3);plot(x,y);axis equal;
subplot(2,2,4);plot(x,y);axis equal tight;

nomal 横纵坐标轴的比例恢复默认的自动调整模式

square 画出来的图片是方形的;

equal 画出来的图片横纵坐标比例是一样的;

equal tight 画出来的图片是横纵比例一样,且无多余留白的;

9. Control of Grid,Box,and Axis

grid on/off 画图背景是否有表格

box on/off 画图背景图片是否有边框

axis on/off 画图背景是否有坐标轴

10. saving Figure into Files

saveas(gcf,'filename','jgp')

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

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

相关文章

Pycharm选好的env有包,但是IDE环境显示无包

一、异常现象 Pycharm选好的env(yolov7): 有Numpy这个包: IDE环境愣是报没有: 二、尝试解决 2.1 重新启动pycharm 重新打开.py文件: 还是不行: 看看好使的windows上的pycharm参数&#xff1a…

深入理解 Linux 下的 GDB 调试工具

引言 在软件开发中,调试是一个不可避免且至关重要的环节。无论是简单的逻辑错误,还是复杂的内存泄漏问题,调试工具都能帮助我们快速定位并修复问题。而在 Linux 系统中,GDB(GNU 调试器)是最强大、最常用的…

让齿轮与斑马线共舞:汽车文化驿站及安全教育基地的展陈实践

当汽车文化驿站及安全教育基地的展陈项目图纸在绘图仪上初现轮廓时,我们就明确了一个核心命题:如何让 “速度与激情” 的汽车文化,与 “规则与敬畏” 的安全教育在同一空间里和谐共生,而非简单拼接。这不是两个独立展区的物理叠加…

Flask + Vue.js 物联网数字大屏实现方案

我将为您创建一个精美的物联网数字大屏,使用Flask作为后端提供数据,Vue.js作为前端展示,全部集成在单个HTML文件中实现。 设计思路 整体布局: 深色主题背景提高数据可视性 顶部标题栏显示系统名称和时间 中央区域分为多个数据卡片 底部显示系统状态信息 核心功能: 实…

Excel怎么筛选重复项?【图文详解】查找/删除重复项?查找重复项公式?如何去重?

一、问题背景 在使用 Excel 整理数据时,我们经常会遇到重复内容。这些重复项不仅会让表格显得杂乱,还可能影响数据统计的准确性。比如学生成绩表中重复的分数、员工信息表中重复的姓名等,都需要及时筛选出来处理。其实,筛选重复项…

模板打印技术——自动识别office类型 打印模板:为政务土地确权定制的替换利器—仙盟创梦IDE

代码for (int i 0; i < tmpcount; i){string tmptable dt.Rows[i]["tmpname"].ToString().Trim();string doctype dt.Rows[i]["doctype"].ToString().Trim();if (doctype "doc"){doc_pagecount cyberwin_replacr_tmpes_files(dgvr, tmpt…

MongoDB分析insert源代码

mongo插入单条文档insert()> db.user.insert({ ... "name": "alice", ... "age": 28 ... }); WriteResult({ "nInserted" : 1 }) >MongoDB插入文档代码调用链如下&#xff1a;mongo/db/commands/write_commands/write_c…

react路由跳转与路由懒加载等(对照vue来说一说不同之处)

前言&#xff1a;react路由跳转与路由懒加载等路由懒加载&#xff1a;使用 loadable/component 插件来实现安装&#xff1a;npm i loadable/component具体使用&#xff1a;1、引入loadable/component2、正常封装的地方const HomeLoadable(()>import(./views/Home.jsx));也可…

Nginx 架构和安装

二、.Nginx 架构和安装 2.1 Nginx 概述 2.1.1 Nginx 介绍 Nginx&#xff1a;engine X &#xff0c;2002年开发&#xff0c;分为社区版和商业版(nginx plus ) 2019年3月11日 F5 Networks 6.7亿美元的价格收购 Nginx是免费的、开源的、高性能的HTTP和反向代理服务器、邮件代理服务…

HarmonyOS NDK的JavaScript/TypeScript与C++交互机制

HarmonyOS NDK的JavaScript/TypeScript与C交互机制 细解释这个调用流程&#xff1a; 整体架构流程 ArkTS/JavaScript ←→ .d.ts (类型定义) ←→ NAPI ←→ .cpp (C实现)文件结构和作用 项目结构示例&#xff1a; MyHarmonyApp/ ├── entry/src/main/ets/ # ArkTS应…

[激光原理与应用-226]:机械 - 如何学习3D图设计

学习机械领域的3D图设计需要系统掌握软件操作、设计思维、工程规范和实战经验。以下是分阶段的学习路径和实用建议&#xff0c;帮助你高效入门并提升技能&#xff1a;一、基础准备阶段1. 明确学习目标方向选择&#xff1a;根据兴趣确定细分领域&#xff08;如机械零件设计、钣金…

uniapp -- 小程序处理与设备通讯 GBK/GB2312 编码问题。

🌐 小程序/UniApp 中处理 GBK 编码:iconv-lite + Buffer 实用指南 适用场景:设备通信、蓝牙传输、旧系统对接、十六进制转中文等涉及 GB2312/GBK 编码 的中文乱码问题。 🧩 一、为什么需要这个工具? 在小程序或 UniApp 开发中,常遇到以下问题: 蓝牙设备返回的中文是 …

8.13 JavaWeb(MySQL P89-P103)

DML&#xff08;数据操作语言&#xff09;Data Manipulation Language&#xff0c;用来对数据库表中的数据记录进行增、删、改操作添加数据-- DML &#xff1a; 数据操作语言 -- DML &#xff1a; 插入数据 - insert -- 1.为tb_emp表的username&#xff0c;name&#xff0c;gen…

Python 类元编程(元类基础知识)

元类基础知识 元类是制造类的工厂&#xff0c;不过不是函数&#xff08;如示例 21-2 中的 record_factory&#xff09;&#xff0c;而是类。图 21-1 使用机器和小怪兽图示法描述元 类&#xff0c;可以看出&#xff0c;元类是生产机器的机器。根据 Python 对象模型&#xff0c;类…

【Vue 3 响应式系统深度解析:reactive vs ref 全面对比】

Vue 3 响应式系统深度解析&#xff1a;reactive vs ref 全面对比 目录 概述响应式系统基础reactive 深度分析ref 深度分析底层实现原理依赖收集机制演进解构和转换工具常见误区和陷阱技术选型指南最佳实践和建议 概述 Vue 3 引入了基于 Proxy 的全新响应式系统&#xff0c;…

JavaSE高级-01

文章目录1. 异常异常的分类自定义异常异常的处理资源关闭&#xff1a;try-with-resource2. 泛型泛型类泛型接口泛型方法、通配符、上下限通配符泛型的上下限泛型支持的类型3. 包装类4. Collection集合和Map集合4.1 Collection集合Collection集合特点Collection的遍历方式一&…

MyBatis执行器与ORM特性深度解析

一、MyBatis的Executor执行器详解1. MyBatis执行器类型MyBatis有三种核心执行器实现&#xff0c;在org.apache.ibatis.executor包中定义&#xff1a;执行器类型特点描述SimpleExecutor默认执行器&#xff0c;每次执行都会创建新的Statement对象ReuseExecutor重用预处理语句(Pre…

红黑树的特性与实现

在数据结构领域&#xff0c;二叉搜索树&#xff08;BST&#xff09;凭借 O (log n) 的平均时间复杂度成为查找、插入和删除操作的优选结构。但它有个致命缺陷&#xff1a;当输入数据有序时&#xff0c;会退化为链表&#xff0c;时间复杂度骤降至 O (n)。为解决这一问题&#xf…

ClickHouse从入门到企业级实战全解析课程简介

【课程简介】你是否正在面临这些挑战&#xff1f;海量数据的分析查询慢如蜗牛&#xff0c;报表一等就是几小时&#xff1f;想构建实时数仓&#xff0c;却不知如何高效处理 Kafka 等流式数据&#xff1f;对 ClickHouse 的众多 MergeTree 引擎感到困惑&#xff0c;不知如何选型&a…

【新启航】从人工偏差到机械精度:旋转治具让三维扫描重构数据重复精度提升至 ±0.01mm

在三维扫描重构领域&#xff0c;传统人工操作方式受限于人为因素干扰&#xff0c;数据重复精度难以保证&#xff0c;无法满足高精度工业检测与逆向工程需求。旋转治具凭借先进的机械设计与自动化控制技术&#xff0c;将三维扫描重构数据重复精度提升至 0.01mm&#xff0c;实现从…