赞
踩
又到了学习的周一!接下来进入我们大家平时最头痛也是花费时间最多的部分——数据处理。MATLAB在数据处理方面有着显著的优势,可视化的数据窗更让数据分析的过程变得十分便捷。一起来学习一下MATLAB的数据部分的基础知识吧!文末有简单的气象相关的编程实例(如方差、滑动检验、流函数势函数等)可供学习~
1.MATLAB数据类型
MATLAB提供15种基本数据类型,常用数据结构是整型数据、单精度浮点型、双精度浮点型、逻辑型、字符串型、单元数组和结构体类型。
下表显示了MATLAB中的数据类型:
数据类型 | 含义 |
int8 | 8位有符号整数 |
uint8 | 8位无符号整数 |
int16 | 16位有符号整数 |
uint16 | 16位无符号整数 |
int32 | 32位有符号整数 |
uint32 | 32位无符号整数 |
int64 | 64位有符号整数 |
uint64 | 64位无符号整数 |
single | 单精度数值数据 |
double | 双精度数值数据 |
logical | 1或0,分别代表true和false |
char | 字符串 |
结构体 | 具有能够存储不同维数和数据类型的数组的命名字段 |
单元格阵列 | 能够存储不同维数和数据类型的数组 |
函数处理 | 指向一个函数的指针 |
用户类 | 用户定义的类构造的对象 |
Java类 | 从Java类构造的对象 |
2.数据类型转换
在实际应用过程中,常常会出现字符和数字等数据结构之间互相转换的情形,MATLAB提供了各种用于将一种数据类型转换为另一种数据类型的函数。
MATLAB自带的转换函数有:
函数 | 描述说明 |
char | 转换为字符串 |
int2str | 将整数数据转换为字符串 |
mat2str | 将矩阵转换为字符串 |
num2str | 将数字转换为字符串 |
str2double | 将字符串转换为双精度值 |
str2num | 将字符串转换为数字 |
native2unicode | 将数字字节转换为Unicode字符 |
unicode2native | 将Unicode字符转换为数字字节 |
base2dec | 将基数N字符串转换为十进制数 |
bin2dec | 将二进制数字串转换为十进制数 |
dec2base | 将十进制转换为字符串中的N数字 |
dec2bin | 将十进制转换为字符串中的二进制数 |
dec2hex | 将十进制转换为十六进制数字 |
hex2dec | 将十六进制数字字符串转换为十进制数 |
hex2num | 十六进制数字字符串转换为双精度数字 |
num2hex | 将单数转换为IEEE十六进制字符串 |
cell2mat | 将单元格数组转换为数组 |
cell2struct | 将单元格数组转换为结构数组 |
cellstr | 从字符数组创建字符串数组 |
mat2cell | 将数组转换为具有潜在不同大小的单元格的单元阵列 |
num2cell | 将数组转换为具有一致大小的单元格的单元阵列 |
struct2cell | 将结构转换为单元格数组 |
使用方式形如:
a = 3.145;b = num2str(a);
判断变量的数据类型可用函数calss:
class(b)
得到变量b的数据类型是字符串:
3.运算符
与大多数编程语言一样,MATLAB中运算符分为算术运算符、逻辑运算符、关系运算符、位运算、集合运算。
在气象编程中,掌握算术运算、逻辑运算和关系运算就足够各位小伙伴应付99%的编程需求啦~
3.1 算术运算符
+、-、*、/这四个符号分别表示平时计算器上使用的加、减、乘、除,在这里就不再说明。
以下是一些MATLAB里设定的你可能用到的算术运算符:
符号 | 功能 |
. / | 矩阵右除 |
.\ | 矩阵左除 |
^ | 幂运算 |
' | 转置 |
3.2 关系运算符
关系运算符主要指的是>、
符号 | 功能 |
~= | 不等于 |
3.3 集合操作符
顾名思义,就是针对两个数据集合之间进行的操作:
函数 | 功能 |
intersect(A,B) | 返回两个数据的交集 |
ismember(A,B) | 返回与A大小相同的数组 |
issorted(A) | 判断A是否按顺序排序 |
setdiff(A,B) | 返回不在B中的值 |
setxor(A,B) | 两个数组的异或 |
union(A,B) | 两个数组的并集 |
unique(A) | 除去数组中的重复值,返回一个各元素均唯一的数组 |
其实学会以上知识其实就足够编出一些简单的如方差、相关等计算脚本啦~练手材料在下方~微信不能链接外部链接,请复制粘贴到地址栏食用~
百看不厌-MATLAB入门经典教程:
bbs.06climate.com/forum.php?mod=viewthread&tid=1909
MATLAB程序百例:
bbs.06climate.com/forum.php?mod=viewthread&tid=18766
计算方法(数值分析)常用算法程序汇总:by:Aires
bbs.06climate.com/forum.php?mod=viewthread&tid=11956
[原创]MATLAB在大气环境科学中的应用:by:zhenliangli
bbs.06climate.com/forum.php?mod=viewthread&tid=50573
用MATLAB实现批量线性回归,附参考源代码!:by:athlon8048
bbs.06climate.com/forum.php?mod=viewthread&tid=3178
最小二乘法:by:lvzhaof
bbs.06climate.com/forum.php?mod=viewthread&tid=11554
MATLAB进行分段拟合:by:shirly
bbs.06climate.com/forum.php?mod=viewthread&tid=29230
MATLAB循环操作矩阵化举例:by:ghf2679451792
bbs.06climate.com/forum.php?mod=viewthread&tid=97899
MATLAB 矩阵运算,for循环太慢?考虑一下逻辑值:by:赵晓康
bbs.06climate.com/forum.php?mod=viewthread&tid=96115
超前滞后相关+滑动平均:by:Aires
bbs.06climate.com/forum.php?mod=viewthread&tid=14512
基于MATLAB的各种多元统计分析模型源代码:by:kingjames
bbs.06climate.com/forum.php?mod=viewthread&tid=67774
分享做回归分析的程序——单序列对含NaN的空间场做回归:by:Aires
bbs.06climate.com/forum.php?mod=viewthread&tid=22346
滑动T检验程序:by:daniel_0817
bbs.06climate.com/forum.php?mod=viewthread&tid=41568
滑动相关:by:吴东佑
bbs.06climate.com/forum.php?mod=viewthread&tid=68286
滑动平均MATLAB程序:by:honview
bbs.06climate.com/forum.php?mod=viewthread&tid=21650
日数据处理为月数据和年数据(sum & mean): by:kingjames
bbs.06climate.com/forum.php?mod=viewthread&tid=89092
平均、方差与相关,积分权重导致的计算陷阱:I.空间平均:by:斥鷃
bbs.06climate.com/forum.php?mod=viewthread&tid=42046
MATLAB单因素方差分析: by:kongfeng0824
bbs.06climate.com/forum.php?mod=viewthread&tid=16045
【原创】运用MATLAB做非线性拟合的两种方法:by:卿暮霏
bbs.06climate.com/forum.php?mod=viewthread&tid=18281
MATLAB相关系数计算:by:Aires
bbs.06climate.com/forum.php?mod=viewthread&tid=11123
滑动T+改进MMK+一阶相关系数:by:kingjames
bbs.06climate.com/forum.php?mod=viewthread&tid=61399
MATLAB分析多个变量的贡献率:by:汪清旭
bbs.06climate.com/forum.php?mod=viewthread&tid=96266
MATLAB丨绘制引导气流回归场(风场矢量)并进行显著性检验(含代码和数据):by:Chwithin
bbs.06climate.com/forum.php?mod=viewthread&tid=96795
合成分析的显著性检验:by:luyunlong
bbs.06climate.com/forum.php?mod=viewthread&tid=96585
关于MATLAB空间相关性及显著性检验:by:dnh
bbs.06climate.com/forum.php?mod=viewthread&tid=56724
[求助]如何在MATLAB里面对通过显著性检验的区域打点显示?
bbs.06climate.com/forum.php?mod=viewthread&tid=91653
已知uv的大小,求风向标的风向:by:南信大wzx
bbs.06climate.com/forum.php?mod=viewthread&tid=96159
分享一个计算风向的程序:by:天坑一地坑
bbs.06climate.com/forum.php?mod=viewthread&tid=49288
MATLAB丨绘制速度势和辐散风图(含代码、注释、数据、文献等):by:Chwithin
bbs.06climate.com/forum.php?mod=viewthread&tid=94948
MATLAB读取NCEP细网格资料及计算散度、涡度平流、温度平流、K指数等要素:by:F117_ren_0
bbs.06climate.com/forum.php?mod=viewthread&tid=27279
[讨论] 风应力旋度计算:
bbs.06climate.com/forum.php?mod=viewthread&tid=37719
基于彭曼公式ET0计算MATLAB代码:by:Jude
bbs.06climate.com/forum.php?mod=viewthread&tid=69234
问老外要来的EP通量程序:by:愉悦
bbs.06climate.com/forum.php?mod=viewthread&tid=17788
WRF模式结果处理及部分气象参数计算:by:Lighting
bbs.06climate.com/forum.php?mod=viewthread&tid=50188
降雨径流--集中度、集中期--MATLAB代码:by:kingjames
bbs.06climate.com/forum.php?mod=viewthread&tid=67900
水文气象要素——年内分配相关指数:by:kingjames
bbs.06climate.com/forum.php?mod=viewthread&tid=61308
计算风暴相对螺旋度---程序:by:Mabsh12
bbs.06climate.com/forum.php?mod=viewthread&tid=61287
MATLAB计算旋度-程序分享:by:Aiiky
bbs.06climate.com/forum.php?mod=viewthread&tid=85443
MATLAB流函数与势函数的数值计算程序:by:沙颖凯
bbs.06climate.com/forum.php?mod=viewthread&tid=20777
[原创]MATLAB矢量地理数据相关计算(涡度、散度、平流...):by:沙颖凯
bbs.06climate.com/forum.php?mod=viewthread&tid=20665
发一个MATLAB计算PDSI的函数:by:kingjia
bbs.06climate.com/forum.php?mod=viewthread&tid=43664
计算SPI的MATLAB GUI:by:matbasin
bbs.06climate.com/forum.php?mod=viewthread&tid=97471
【MATLAB】工具箱climate data toolbox好用到爆炸 :
bbs.06climate.com/forum.php?mod=viewthread&tid=94786
分享一个自己编的小程序(求total cloud cover):by:qinkong
bbs.06climate.com/forum.php?mod=viewthread&tid=33159
用MATLAB分析西太平洋副高脊线位置与中国东部整层向北水汽通量的相关性:by:rabialee
bbs.06climate.com/forum.php?mod=viewthread&tid=96473
[求助]西太副高环流指标:
bbs.06climate.com/forum.php?mod=viewthread&tid=97605
[求助]有没有用MATLAB编写的计算CAPE( 对流有效位能)的程序?:
bbs.06climate.com/forum.php?mod=viewthread&tid=7662
本期内容到此结束!意犹未尽?
欢迎到家园MATLAB板块,一起讨论吧!
http://bbs.06climate.com/
编辑:星星伴月
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。