初学MATLAB总结
MATLAB 学习
- 前言
- 0. MATLAB界面
- 1. 数据的处理
- 1.1 数据的导入
- 1.2 数据的保存
- 1.3 数据的删除
- 1.4 数据的裁剪与处理
- 1.5 数据的创建
- 1.6 数据的类型
- 2. 实时脚本(live script)
- 3. 收藏栏
- 4. 简单的绘图 (Plot)
- 4.1 绘制图形
- 4.2 添加属性
- 4.2.1 线条属性
- 4.2.2 标题
- 4.2.3 横纵轴属性
- 4.2.4 图例
前言
花费了五天时间学习了MATLAB,在这里只做简单的展示和自己学习的备份。如果有任何勘误或者理解、使用有误的地方,请在评论区中指出,非常感谢!
0. MATLAB界面
MATLAB界面可以大致分为四块:
其中:
红色区域是当前文件夹路径所包含的内容
黄色区域是所有打开的内容,包括文档,展开的变量,函数等
绿色区域是工作区,是所有缓存的数据和变量,不保存关闭MATLAB会导致变量丢失。
蓝色区域是命令行窗口,在此窗口下可以写MATLAB的相关指令,供MATLAB直接运行
1. 数据的处理
1.1 数据的导入
MATLAB支持的文件格式可以参考MATLAB官方文档。
使用图中导入数据工具可以把数据导入到工作区。例如,打开一个不同国家在不同时期的汽油价格的一张Excel表格,界面如下:
其中:
红色区域代表的是要导入的区域,跟Excel一样,可以用鼠标选中区域,也可以输入区域(使用 “ : ” 划定区域,使用 “ , ” 选取多个区域)
黄色区域是给定行标题
蓝色区域是选取导入的方式,其中有“表”,“数值矩阵”等方式。
选取完毕后点击导入所选内容即可完成导入。
对于.mat类型的导入,可以在左侧直接双击即可导入到工作区。也可以用以下指令完成导入:
load xxx.mat
load('xxx.mat')
对于想要导入mat中特定的变量,可以使用:
load xxx.mat Germany
load('xxx.mat','Germany')
查看所有导入的数据属性,使用:
whos
1.2 数据的保存
工作区内的数据往往需要保存,为之后的数据处理做好准备。
方法一
在工作区内按住ctrl选中所需要的数据,右键选择保存。可以保存为mat类型以供后续使用。
方法二
使用以下指令完成导出:
save(文件名,工作区内的数据名)
save("ch2.mat",Germany)
将数据添加进已经保存的数据中:
方法一
使用以下指令完成添加:
save(文件名,变量,'-append')
save("ch2.mat",Germany,'-append')
方法二
在左侧选中一个mat类文件,将变量和数据直接选中拖入左下角一栏:
1.3 数据的删除
在命令行中输入:
clc % 可以将之前的命令记录全部清除
在命令行中输入:
clear / clear all % 清除所有工作区内的数据
clear 变量名 % 清除工作区内的指定数据
1.4 数据的裁剪与处理
一个列表想要以可视化形式输出,需要对数据做预处理才能进行作图。一个原始的数值矩阵可以分为一个个向量以便于绘图。
双击工作区内的数据矩阵变量,以打开一个变量。
选中其中的一列,在左上角即可新建为一个行向量。选中区域也可以获得相应的新的数据矩阵。
当数据量比较大时,使用指令会更加方便:
E.g. 矩阵变量名为:gprice
gprice_binary = gprice(3,4) % 选中一个元素 3行4列
gprice_binary = gprice(3,:) % 选中第三行,gprice_binary 为行向量
gprice_binary = gprice(:,4) % 选中第四列,gprice_binary 为列向量
gprice_binary = gprice(4:8,9:16) % 选中4-8行,9-16列,gprice_binary 为子矩阵
gprice_binary = gprice(4:8,[1,3,5]) % 选中4-8行,1,3,5列,gprice_binary 为子矩阵
gprice_binary = gprice(:,end) % 选中最后一行
1.5 数据的创建
除了导入数据之外,还需要自己建立一些变量以供使用:
1. 对于定义一个数值:a = 3.6(ps: 通常MATLAB对于小数都是双精度类的,也就是精度在16位左右)2.对于定义一个字符串:str = "Hello World!"3. 对于定义一个向量:a = [3 4 5] / [3,4,5] % 1x3 行向量a = [3;4;5] % 3x1 列向量a = 1:2:10 % 以1为起始,<10,步长为2的的等长行向量 [1 3 5 7 9]a = linspace(3,6,4) % 把3到8的数4等分的行向量 [3 4 5 6]4. 对于定义一个矩阵:a = [1 2 3; 4 5 6; 7 8 9] % 一个3x3的矩阵,由分号换行a = eye(5) % 一个5x5的单位矩阵a = zeros(5,3) % 一个5x3值均为0的矩阵a = ones(2,2) % 一个2x2值均为1的矩阵a = magic(5) % 一个 每行、每列、每条对角线上的所有数值和均相等的矩阵(其他函数包括:compan pascal gallery randi hadamard rosser hankel toeplitz hilb vander invhilb wilkinson magic)5. 随机数产生:a = randn(m,n) % 产生一个m行n列的以正态分布产生的随机数a = rand(m,n) % 产生一个m行n列的平均分布的随机数
1.6 数据的类型
- 向量 (Vector)
- 元胞 (cell)
- 数值矩阵 (Matrix)
- 表 (Table)
2. 实时脚本(live script)
实时脚本和脚本是命令的集合。根据MATLAB官方教学的人员解释,在2017年已经开始使用实时脚本替代原始的脚本文件。
左侧是脚本,右侧是实时演示的结果。左侧的编辑区内通过上方的按键可以切换文本模式和代码模式。文本模式下的所有内容都不会被执行,只有在代码行中会被执行。
文本栏中有标题选项,可以撰写标题,并且可以进行加粗等操作。代码段中可以打注释等。分节符可以将代码分段,可以不让程序全部运行,以代码段的方式运行。
3. 收藏栏
可以将常用的代码放置在收藏夹以便以后方便调用。
在收藏夹一栏中,可以新建收藏项,可以将带代码保存,并且可以将其置顶。
4. 简单的绘图 (Plot)
对于简单的线图,可以用下面这个函数来绘制图形:
plot() %二维绘图
plot3() %三维绘图
当然,如果更全面的了解plot函数,请参考MATLAB官方文档。
也有很多人已经对于这个函数做了非常详细的解读和用法的说明:MATLAB中plot函数的用法。
4.1 绘制图形
当两个向量长度相同时,即可使用plot函数:
plot(x,y); %笛卡尔坐标系中的绘图
polarplot(theta,rho); %极坐标系中绘图(不说明)
4.2 添加属性
对于一个二维图像,我们需要添加标题,横纵轴描述,对于线宽、线的形状都会有一定的要求,以增加图表的可读性。
Example:
plot(Year,Germany,"Marker",".","LineStyle","--");
%Year是横坐标向量,Germany是纵坐标向量,后面的所有项目都是属性。
4.2.1 线条属性
Marker %标记形状 ['o' 圆圈; '+' 加号; '*' 星号; '.' 点; 'x' 叉号; '_' 水平线条;'|' 垂直线条; 's' 方形; 'd' 菱形; '^' 上三角; 'v' 下三角; '>' 右三角; '<' 左三角; 'p' 五角星; 'h'六角形; 'none'无标记]
MarkerSize %标记大小(默认6)
MarkerEdgeColor %标记外围颜色(常规/缩写'r'/16进制rgb颜色[0.36,0.32,0.02])
MarkerFaceColor %标记填充颜色(常规/缩写'r'/16进制rgb颜色[0.36,0.32,0.02])
Color %线条颜色(常规/缩写'r'/16进制rgb颜色[0.36,0.32,0.02])
LineWidth %线条宽度 (默认0.5)
LineStyle %线条形状 ['-'实线; '--'虚线; ':'点线; '-.'点划线]
4.2.2 标题
具体参考Title文档
1. title("Annual gas prices in Germany"); %可以直接添加标题2. [t,s] = title('Straight Line','Slope = 1, y-Intercept = 0'); %可以添加副标题(t为主标题,s为副标题)其中可以对t和s分别添加属性。(t.color = 'red')3. title(ax1,'Top Plot')title(ax2,'Bottom Plot') %可以对每一个坐标区添加标题
相应可以使用的属性:
FontSize %字体大小
FontWeight %字体粗细('normal' / 'bold')
FontName %字体
Color %字体颜色(常规缩写'r'或者16进制rgb颜色[0.36,0.32,0.02])
Interpreter %解释器(默认'tex', 可以使用'latex')
4.2.3 横纵轴属性
具体参考xlabel&ylabel文档。
xlabel()和ylabel()使用方法基本一致。
1. xlabel('-2\pi \leq x \leq 2\pi') %直接添加标题2. xlabel('Population','FontSize',12,'FontWeight','bold','Color','r') % 为横纵坐标添加相应属性3. xlabel(ax1,'Population') %为单个坐标区内的坐标添加名称
%注:如果要添加特殊字符(如alpha)或者上下标:
^{ } %大括号内的即为上标内容
_{ } %大括号内的即为下标内容
/alpha %表示希腊字母alpha
相应可以使用的属性:
FontSize %字体大小
FontWeight %字体粗细('normal' / 'bold')
FontName %字体
Color %字体颜色(常规缩写'r'或者16进制rgb颜色[0.36,0.32,0.02])
Interpreter %解释器(默认'tex', 可以使用'latex')
4.2.4 图例
具体参考legend文档。
对于一张图内包含有多个线条时,可以通过添加图例更大明显的显示每一根线条所表示的数据内容。
1. legend('cos(x)','cos(2x)') %直接添加图例2.legend(ax1,{'Line 1','Line 2','Line 3'}) %为特定图表添加图例3. lgd = legend('cos(x)','cos(2x)');title(lgd,'My Legend Title') %为图例添加标题4. lgd = legend({'Line 1','Line 2','Line 3','Line 4'},'FontSize',12,'TextColor','blue') lgd.NumColumns = 2; %为图例添加属性并且分多列展示
相应可以使用的属性:
Location %图例在图中的相对位置 (east/west/southeast...)
Orientation %图例的展示方向 (vertical / horizontal)
TextColor %图例的文本颜色
FontSize %图例的文本大小
NumColumns %图例分列展示
初学MATLAB总结相关推荐
- matlab if语句多个执行举例,初学Matlab,有两个语句,if语句和switch语句,有两个例子哪位大神能帮我讲讲...
问题描述: 初学Matlab,有两个语句,if语句和switch语句,有两个例子哪位大神能帮我讲讲 if logical_expression statements elseif logical_ex ...
- 【开发工具】学习记录 初学MATLAB
转自:https://blog.csdn.net/An_Wu/article/details/70226197,感谢博主 关于如何学习Matlab 我的学习方法很简单:Matlab是练出来的,而不是看 ...
- matlab初学matlab——变量类型
变量类型: 五大类: 数字 字符与字符串 矩阵 元胞数组 结构体 学习目标:1.掌握matlab编程中最常用的几种变量类型 2.对变量类型的属性有所熟悉,不要求记忆,知道了解即可 3.要求熟练运用这几 ...
- 关于求解微分方程——初学Matlab里的 ODE求解器
学习背景 最近想挖掘一下自己项目的理论深度,于是找到了老师.在老师的建议下,我们开始了漫长的研读老师的论文的旅程(论文名:Optimal Design of Adaptive Robust Contr ...
- 初学Matlab编程
计算机程序就是计算机指令的集合,不同的编程语言指令与功能是不一样的.MATLAB语言是一种面向对象的高级语言,它具有编程效率高.易学易用的优点. MATLAB与其它大部分高级语言一样,有它自己的控制流 ...
- 新手初学MATLAB(一)常见信号的的实现绘制(原创易懂)http://www.putclub.com/
本人也是刚入MATLAB,刚刚进入这个神奇的世界时遇到许多困难,发现许多资料也解释不是很清楚,所以就想自己来总结下,当然也是希望能够和大家更好探讨学习.首先第一个就是一些基本信号的实现,希望对大家有所 ...
- matlab初学matlab——结构体
matlab中也有结构体,和大多数语言一样: 结构体数组具有下列属性: 数组中的所有结构体都具有相同数目的字段. 所有结构体都具有相同的字段名称. 不同结构体中的同名字段可包含不同类型或大小的数据. ...
- 莱特准则 matlab,初学MATLAB,遇到一简单的题目,一点头绪也没有啊.99
在无系统误差的情况下,测量中大误差出现的概率是很小的.在正态分布下,误差绝对值超过2.57σ(x)的概率仅为1%,误差绝对值超过3σ(x)的概率仅为0.27%≈1/370.对于误差绝对值较大的测量数据 ...
- Matlab中的图形句柄(转载)
在matlab中,每一个对象都有一个数字来标识,叫做句柄.当每次创建一个对象时,matlab就为它建立一个唯一的句柄 句柄中包含有该对象的相关信息参数,可以在后续程序中进行操作,改变其中的参数,以便达 ...
最新文章
- 麦肯锡:物联网九大应用潜力无限 2025年经济价值高达11.1万亿美元
- 发挥主观能动性,才可以能常人之所不能 - 阿里云MVP 杨洋专访
- spring之Environment
- php curl基本操作
- Android 中单选框或复选框点击其中一个,其余取消操作
- 安娜·塞克泽沃斯卡的“小人物”
- Oracle入门(一)之入门级知识详解
- leetcode 599. 两个列表的最小索引总和(Minimum Index Sum of Two Lists)
- 干货!286页李宏毅《深度学习讲义》
- django 1.8 官方文档翻译: 1-1-1 Django初探
- rdlc报表输入中文出现小方块
- 鸡蛋掉落(动态规划)
- 优化配置ISA2006淹没缓解
- python 绘图sns.distplot
- exescope使用
- 19108期计算机开机号,排列三19108期藏机图诗汇总
- 通信信道带宽为1Gbit/s,端到端时延为10ms。TCP的发送窗口为65535字节。试问: 可能达到的最大吞吐量是多少?信道的利用率是多少?
- veu3.0 入门到精通
- 开篮球馆需要什么_建立一个篮球馆需要什么!
- 超简单、超实用的统计方法——因子分析