当前位置:文档之家› 气象数据matlab处理

气象数据matlab处理


矩阵的逻辑运算
• 逻辑变量:
非 0 表示逻辑 1
• 逻辑运算(相应元素间的运算)
– 与运算 – 或运算 – 非运算 A&C A|C ~A
矩阵的比较运算
• 各种允许的比较关系 >, >=, <, <=, ==,~=, find(), all(), any() • 例:>> A A= 1 2 3 4 5 6 7 8 0
MATLAB 语言的优势
编程简单,类似于其他语言,如C 集成度更高,扩展性更好 数学问题数值计算能力强大 由Maple内核构成的符号运算工具箱可以 继承Maple所有解析解的求解能力 • 在数学、工程领域有各种“工具箱” • 强大的系统仿真能力,Simulink建模 • 在控制界是国际首选的计算机语言 • • • •
变量
(1)变量的命名:变量的名字必须以字母开头(不能超过 19个字符),之后可以是任意字母、数字或下划线;变量 名称区分字母的大小写;变量中不能包含有标点符号。 (2)一些特殊的变量 ans:用于结果的缺省变量名 i、j:虚数单位 pi:圆周率 eps:计算机的最小数 inf:无穷大 realmin:最小正实数 realmax:最大正实数 nan:不定量 not a number



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