气象数据matlab处理
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
或 Xi<X-3S
时,则观测数据为错误数据。
(B)一致性检验法:是一种常见的质量控制方法。其基本思想是利 用要素之间的关系进行检查判断要素是否正确。例如,天气现象与 能见度的关系(如当能见度>30km,则不应该有天气现象。而当能 见度<1km,必然有影响能见度的天气现象出现(雾、降水、烟尘、 扬沙等));总云量与低云量的关系(总云量>=低云量);气温与 露点之间的关系(气温>=露点温度);风速与浪高的关系等。当相 关的两个要素之间发生矛盾时,至少可以断定其中一个要素是错误 的,但要判断哪一个要素正确,哪一个要素错误,还有一定困难。 在实际业务和科研工作中,科技人员从分析图或积累的经验上,能 判断出对错。但在计算机上,软件设计方面和运行成本方面可能有 一定困难。简单的处理办法是将两个要素都剔除,否则,就必须附 加判断条件,找到邻近测站或邻近时间点数据进行比较。
i 1
/n
代1表真值,对某个时刻的观测数据Xi,若满足
为资料标准差,则认为数据Xi可疑,应剔除。
用莱因达准则的前提是要有足够大的观测数据,当n<10时注定要失 败。因此在观测次数较少的场合最好不要使用该准则,否则“弃真” 概率较高。
用莱因达准则计算极值,当观测数据Xi满足公式 Xi X 3S
赋值
直接赋值语句 赋值变量=赋值表达式 例:>> a=pi^2 a= 9.8696 例:表示矩阵
>> B=[1+9i,2+8i,3+7j;4+6j 5+5i,6+4i;7+3i,8+2j 1i] B=
1.0000 + 9.0000i 2.0000 + 8.0000i 3.0000 + 7.0000i 4.0000 + 6.0000i 5.0000 + 5.0000i 6.0000 + 4.0000i 7.0000 + 3.0000i 8.0000 + 2.0000i 0 + 1.0000i
冒号表达式 v=s1:s2:s3
该函数生成一个行向量v,其中s1是起始值, s2是步长(若省略步长 为1), s3是最大值。 例:用不同的步距生成 (0,p) 间向量。 >> v1=0:0.2:pi >> v2=0:-0.1:pi %步距为负,不能生成向量,得出空矩阵 >> v3=0:pi >> v4=pi:-1:0 %逆序排列构成新向量 >> v5=[0:0.4:pi,pi]
变量
(1)变量的命名:变量的名字必须以字母开头(不能超过 19个字符),之后可以是任意字母、数字或下划线;变 量名称区分字母的大小写;变量中不能包含有标点符号 。
(2)一些特殊的变量 ans:用于结果的缺省变量名 i、j:虚数单位 pi:圆周率 eps:计算机的最小数 inf:无穷大 realmin:最小正实数 realmax:最大正实数 nan:不定量 not a number
MATLAB 已发展成为适合众多学科,多种工作平台、功能强大的大型软件 。在欧美等国家的高校,MATLAB已成为线性代数、自动控制理论、数理 统计、数字信号处理、时间序列分析、动态系统仿真等高级课程的基本教 学工具。成为攻读学位的本科、硕士、博士生必须掌握的基本技能。在设 计研究单位和工业开发部门,MATLAB被广泛的应用于研究和解决各种具 体问题。在中国,MATLAB也已日益受到重视,短时间内就将盛行起来,
点运算--矩阵对应元素的直接运算
数学表示 :
MATLAB 实现: C=A.*B
例:>> A=[1,2,3;4,5,6;7,8,0];
>> B=A.^A
B=
1
4
27
256 3125
46656
823543 16777216 1
>> C=A.*A
C=
149
16 25 36
49 64 0
矩阵的逻辑运算
风向:风吹来的方向 流向:海流流去的方向
北风:0° 东风:90° 顺时针增加
盛行风向
31
22
32
23 >> all(A>=5) %某列元素全大于或等于5时,相
应元素为1,否则为0。 ans =
000 >> any(A>=5) %某列元素中含有大于或等于5
时,相应元素为1,否则为0。 ans =
111
三、数据分析处理
1、求平均风速 2、求风速的方差和标准差 3、质量控制:极值法—莱因达准则 3、统计最大风速及相应的风向 4、统计盛行风向(聚类) 5、插值 6、风速连续时间序列的带权重平滑
第二部分:数据处理与应用
一、实测资料的质量控制
* 实时观测数据的质量控制是科学研究和业务工作中一个重要的环节,因为所 采取数量质量的高低直接影响到工作的成败。
* 质量控制方法:1、人工审查方法
2、(计算机编程)经验统计方(上限)和极小值(下限),通
过各种方法确定出适当的极值作为判断数据正确与否的上下限范围。当数据超
逻辑变量:
非 0 表示逻辑 1
逻辑运算(相应元素间的运算)
与运算 A&C 或运算 A|C 非运算 ~A
矩阵的比较运算
各种允许的比较关系 >, >=, <, <=, ==,~=, find(), all(), any()
例:>> A A=
123 456 780
>> [i,j]=find(A>=5);[i,j] %显示行标,列标 ans =
>> B2=A([3,2,1],[2,3,4]) %提取3,2,1行、2,3 ,4列构成子矩阵。 A =
B2 =
1234
678
3456
456
5678
234
7890
>> B3=A(:,end:-1:1) %将A矩阵左右翻转,即最后
一列排在最前面。
B3 =
4321
6543
8765
0987
• 矩阵转置
。 因为无论哪个学科或工程领域都可以从MATLAB中找到合适的功能
70年代中期,Cleve Moler和他的同事开发了LINPACK 和EISPACK的Fortran子程序库
70年代末期,Cleve Moler 在新墨西哥大学给学生开线 性代数,为学生编写了接口程序,这程序取名为 MATLAB,即MATrix LABoratory
二、matlab软件与语言基础
Matlab(Matrix Laboratory)是美国 MathWorks公司开发的一套高性能的数 值分析和计算软件,用于概念设计,算法开发,建模仿真,实时实现的理想的 集成环境,是目前最好的科学计算类软件之一。
MATLAB,即“矩阵实验室”,它是以矩阵为基本运算单元。具有强大的 矩阵运算能力:Matrix Laboratory(矩阵实验室),使得矩阵运算非常简 单。
• B=A.’
C=A’
• 矩阵翻转
– 左右翻转
B=fliplr(A)
– 上下翻转
C=flipud(A)
– 旋转 90o (逆时针)
D=rot90(A)
– 如何旋转180o?
>> D=rot90(rot90(A))
• 矩阵乘方
– MATLAB 实现: F=A^x
x=[1 3;2 4] y=[5 7;6 8] x2=reshape(x,4,1) y2=reshape(y,4,1) z1=[x2 y2] z2=[x2;y2]
MATLAB语句形式 》变量=表达式; a=8;
通过等于符号将表达式的值赋予变量。当键入回车键时 ,该语句被执行。语句执行之后,窗口自动显示出语句 执行的结果。如果希望结果不被显示,则只要在语句之 后加上一个分号(;)即可。此时尽管结果没有显示, 但它依然被赋值并在MATLAB工作空间中分配了内存。
继承Maple所有解析解的求解能力 在数学、工程领域有各种“工具箱” 强大的系统仿真能力,Simulink建模 在控制界是国际首选的计算机语言
启动MATLAB命令窗口 计算机安装好MATLAB之后,双击MATLAB图标,就可
以进入命令窗口,此时意味着系统处于准备接受命令的 状态,可以在命令窗口中直接输入命令语句。
linspace(a,b,n) ones(m,n)
基本语句格式 B=A(v1,v2) v1、 v2分别表示提取行(列)号构成的向量。
例:>> A=[1,2,3,4;3,4,5,6;5,6,7,8;7,8,9,0] A=
1234 3456 5678 7890 >>size(A) >> B1=A(1:2:end,:) %提取全部奇数行、所有列。 B1 = 1234 5678
出此范围,则认为该数据是可疑的,应将其剔除。但当对实测地海洋气象资料
不熟悉的情况下,很难确定适当的极值范围。此时,可使用“莱因达”准则进
行计算确定极值。
莱因达准则X:根据误差理论,一般情况下,随机误差服从正Xi态 分X 布 3,S以一段时
间数据的n 平均值2
,其S中
Xi X
1983年春天,工程师John Little与Moler、Steve Bangert一起开发了第二代专业版MATLAB
1984年,MathWorks公司成立,MATLAB正是推向市场 ,之后其功能不断扩充,版本不断升级。
MATLAB 语言的优势
编程简单,类似于其他语言,如C 集成度更高,扩展性更好 数学问题数值计算能力强大 由Maple内核构成的符号运算工具箱可以
四、绘图
matlab语言丰富的图形表现方法,使得数 学计算结果可以方便地、多样性地实现了 可视化,这是其它语言所不能比拟的。
本次处理需用到的Matlab函数
一个时间序列X 平均值 mean (X) 方差 var (X) 标准差 std (X) 最大值 max (X)
风速时间序列