气象统计应用matlab考点.docx
- 文档编号:14021426
- 上传时间:2023-06-20
- 格式:DOCX
- 页数:19
- 大小:139.58KB
气象统计应用matlab考点.docx
《气象统计应用matlab考点.docx》由会员分享,可在线阅读,更多相关《气象统计应用matlab考点.docx(19页珍藏版)》请在冰点文库上搜索。
气象统计应用matlab考点
序号
桌面工具
功能简介
1
启动按钮
运行工具和获取所有MathWorks产品的文档,并创建和使用MATLAB快捷方式
2
命令窗口
运行MATLAB函数、表达式等
3
历史命令窗口
显示命令窗口中键入的命令
4
当前目录窗口
查看文件,进行打开、查找和管理操作等
5
工作空间窗口
查看和改变工作空间中的内容
6
菜单栏
“File”、“Edit”等菜单
7
工具栏
新建、打开文件,对文件进行复制、粘帖和剪切等操作
who函数可以列出当前工作空间中的所有变量,whos函数列出所有变量的大小、字节数和类型等信息。
•退出Matlab7.0时,工作空间中的内容随之清除,可将工作空间中所需的部分保存到一个MAT文件中,它是一种二进制文件,扩展名为.mat,菜单中选择“SaveAs”选项,这就打开了“SavetoMAT-File”对话框,指定保存路径和文件名后,保存即可。
•下次使用时,用“load”命令打开。
比如,已有的工作空间保存在“D:
\MATLAB7\work”目录下,文件名为matlab01.mat,调用时的格式为
•load('D:
\MATLAB7\work\matlab01.mat')
常用命令
•help、doc、lookfor(matlab中的google)
•cd、dir、type
•clc:
清除工作窗口中所有显示内容
•clear:
清理内存变量
•disp:
显示变量或文字内容
•load、save
•exit、quit
•hold:
图形保持开关
标点
•:
冒号,多种应用功能
•;分号,区分行及取消运行结果显示
•,逗号,区分行及函数参数分隔符
•(),括号
•[]方括号,定义矩阵
•{}大括号,构造单元数组
•%百分号,注释标记
•…,续行号
变量
•不需要任何类型声明和维数说明,对于新变量会自动创建并分配合适的内存空间
•变量命名:
区分大小写、必须以字母开头
•MATLAB中还有一些特殊变量,如:
ans默认的计算结果变量名,pi圆周率,eps计算机最小数,inf无穷大,NaN或nan不定量(缺测量)等等。
表达式
1算术表达式。
•运算符有:
+(加)、-(减)、*(乘)、^(乘方)
•/(右除)、\(左除),左除和右除表示两种不同的除数矩阵和被除数矩阵的关系。
2关系表达式。
•运算符有:
<(小于)、<=(小于或等于)、>(大于)、>=(大于或等于)、==(等于)、~=(不等于)
3逻辑表达式。
•运算符有:
&(与)、|(或)和~(非)
矩阵及其运算
一、简单矩阵构造:
采用构造符号[]。
•row=[E1,E2,…,Em]或者row=[E1E2…Em]
•例如,a=[1,2,3,4],或者a=[1234]。
•多行矩阵行与行之间必须用分号隔开。
•A=[row1;row2;…,rown]
•如,A=[1,2,3,4;5,6,7,8;9,10,11,12]
二、特殊矩阵构造
函数名
函数用途
调用格式
ones
产生矩阵元素全为1的矩阵
A=ones(m,n)
zeros
产生矩阵元素全为0的矩阵
A=zeros(m,n)
eye
产生单位矩阵
A=eye(m,n)
diag
向量转化为对角阵,或者得到矩阵的对角元素
X=diag(v,k)
v=diag(X)
rand
产生0~1均匀分布的随机数
Y=rand(m,n)
三、向量的构造
:
可以用来构造步长为1的递增向量,其格式为a:
b,如>>A=1:
5
A=12345
也可以用来构造任意步长的向量,
如>>y=0:
pi/4:
pi
y=00.78541.57082.35623.1416
四、矩阵大小的改变
1.矩阵的合并
C=[AB]和C=[A;B]的合并方式
C=[AB],要求A,B行数相同
C=[A;B],要求A,B列数相同
如,
A=12B=456
34789
56101112
C=[AB]=12456
34789
56101112
2.矩阵行列的删除
A=[6223;5318;9472;4541]
将行或列指定为空数组,可以删除行或列。
删除第二列A(:
2)=[]
A=
623
518
972
441
3.矩阵下标引用
用A(i,j)=来表示第i行第j列的元素。
提取矩阵中的元素
x1=X(:
1);获取第1列中的所有元素
x2=X(2,:
);获取第2行中的所有元素
x3=X(1:
7,3)获取第三列中的1到7
行的元素
x4=X(2:
5,1:
3)获取第2到第5行,第
1到第3列中的元素
120 17.21 142.33
180 20.78 138.08
240 18.60 130.77
300 16.32 140.23
360 14.55 53.40
420 15.56 59.32
480 18.65 68.25
540 18.63 159.32
600 18.42 285.01
660 10.88 269.87
720 11.59 203.65
780 12.58 215.69
840 15.69 189.45
900 10.65 103.52
960 9.21 306.83
1020 2.65168.32
修改矩阵元素可以用A(,)=来修改。
a=[120;305;789]
a=120
305
789
a(3,3)=0
a=120
305
780
a(:
3)=0
a=120
300
780
a(2,:
)=0
a=120
000
789
五、矩阵结构的改变
reshape
重排元素
B=reshape(A,m,n)
rot90
旋转矩阵90º
B=rot90(A)
fliplr
以竖直方向为轴做镜像
B=fliplr(A)
flipud
以水平方向为轴做镜像
B=flipud(A)
transpose
矩阵的转置
B=transpose(A)
如>>A=[14710;25811;36912]
即A=
14710
25811
36912
>>B=reshape(A,2,6)
B=1357911
24681012
>>B=rot90(A)
B=101112
789
456
123
>>B=fliplr(A)
B=10741
11852
12963
六、数据的保存与获取
Ø把matlab工作空间中一些有用的数据长久保存下来的方法是生成mat数据文件。
1.save—将工作空间中所有变量保存matlab.mat中
2.savedata—将工作空间中所有变量保存为data.mat
3.savedataab—将工作空间中变量a和b保存为data.mat
4.savedataab-append—将变量a和b添加到data.mat
5.savedataab-ascii—将变量a和b保存为data.mat的8位ascii文件
6.savedataab–ascii-double—将变量a和b保存为data.mat的16位ascii文件
用load指令调用已生成的mat文件。
1.load——
2.loaddata——
3.loaddataab——
4.loaddataab-ascii
即可恢复保存过的所有变量
mat文件是标准的二进制文件,还可以ASCII码形式保存。
资料的标准化处理
在气候诊断分析中,也常对资料进行标准化处理,得到标准化序列来代替气候变量本身的观测数据。
任何气候变量序列经过标准化处理后,都可以化为平均值为0、方差为1的序列。
1.变率(variability)
分绝对变率和相对变率两种
绝对变率:
平均的距平绝对值。
相对变率:
绝对变率与平均值的比。
变率较全面地考虑了异常情况,常用来表示气候要素观测值年际变化的大小。
求平均:
mean()
求方差:
var()
求标准差:
std()
练习:
求4月青岛温度均值、方差、标准差、距平序列、标准化序列。
2.协方差与相关系数
衡量任意两个气象要素(变量)之间关系的统计量主要有协方差、相关系数。
协方差:
2个变量距平向量的内积
协方差可以描述两变量之间的相互依赖关系
相关系数(correlationcoefficient)
协方差是带单位的统计量,不便于比较不同要素的异常关系。
利用标准化处理方法,对变量先进行标准化,然后计算协方差(不带单位),这种协方差就是相关系数。
相关系数--标准化的协方差
允许参与运算的两矩阵之一是标量,标量与矩阵的所有元素分别进行加减操作。
>>A=[123;456;780]
>>F=A+5
F=
678
91011
12135
>>plot(x,y);
>>text(1,0,'This{\bfisasin}{\itcurve.}I{\itlikeit}{\rmverymuch.}');
Tm=[0.91.22.22.4-0.52.5-1.106.22.73.2-1.12.51.21.80.62.42.51.2-0.8];
A=[3225202627242824151624302230243326203235];
Tm=Tm';
A=A';
X=[ones(20,1)A];
b=regress(Tm,X);
clear;close;
%多元线性回归,用标准化序列
x=[7111117113122111110;
26295631525571315447406668;
6052204733226442226341212];
y=[78.574.3104.387.695.9109.2102.772.5
93.1115.983.8113.3109.4];
X=x';
X=zscore(X,1);
X=[ones(13,1)X];
Y=y';
Y=zscore(Y,1);
b=regress(Y,X);
>>str=poly2str(p3','x')
str=
-0.1688x^3+3.1826x^2-16.6501x+23.8856
>>x=0:
0.2:
10;
>>y=0.25*x+20*sin(x);
>>p3=polyfit(x,y,3);
>>y3=polyval(p3,x);
格式:
A=fscanf(fid,format,size)
format用以控制读取的数据格式,由%加上格式符组成,常见格式符:
%s:
字符串s=fscanf(fid,‘%s’)
%d:
十进制数a=fscanf(fid,‘%5d’)读5位整数
%f:
浮点数b=fscanf(fid,‘%6.2f’)读浮点数
size为可选项,用于控制读取的数据,若不选用则读取整个文件内容,若选用它的值可以是下列值:
N读取前N个元素到一个列向量。
inf读取整个文件。
[M,N]读数据到M×N的矩阵中,按列存放
N可以是inf,M不可以。
⏹文件在进行完读、写等操作后,应及时关闭,以保证文件的安全。
⏹关闭文件命令格式为:
sta=fclose(fid)——关闭打开的文件
sta=fclose(‘all’)——关闭所有打开的文件
sta表示关闭文件操作的返回代码,若关闭成功,返回0,否则返回–1。
>>fid=fopen('table.txt','r');
>>title=fscanf(fid,'%f',[3,4]);
>>status=fclose(fid);
>>title
title=
1122046
4153476
926230
fprintf写ASCII数据文件,其格式为:
COUNT=fprintf(fid,format,A)
其中A为要写入文件的数据矩阵,先按format格式化数据矩阵A,后写入到Fid所指定的文件,COUNT返回成功写入的字节数。
>>a=1:
10;
>>b=[a;sqrt(a)];
>>fid3=fopen(‘s_table.dat’,’w’);
>>fprintf(fid3,’平方根表\n’);
>>fprintf(fid3,’%2.0f%6.3f\n’,b);
>>fclose(fid3);
平方根表
11.000
21.414
31.732
42.000
52.236
62.449
72.646
82.828
93.000
103.162
•度二进制文件
•A=fread(fid,size);
•A=fread(fid,size,precision);
precision包括两部分:
数据类型和读取位数,缺省为无符号字符格式。
如:
A=fread(fid,10,’float’);
count=fwrite(fid,a,precision);
a是待写入的矩阵,precision设定精度
例,写读二进制文件
>>fid4=fopen(‘tob.bin’,‘w’);
>>count=fwrite(fid4,magic(5),‘int32’);
>>status=fclose(fid4);
生成一个文件名为tob.bin的二进制文件,数据位5阶方阵,类型为整型,输出count值为25。
幻方:
magic(n) 生成一个n*n的矩阵,矩阵元素是由整数1到n^2组成的并且任何行任何列的和都相等,阶数n必须是大于等于3的标量。
>>fid5=fopen(‘tob.bin’,’r’);
>>data=(fread(fid5,25,’int32’))’;
>>data
data=
Columns1through21
17234101124561218171319258142021215
Columns22through25
162239
figure('PropertyName',propertyvalue,...),则可以指定某些属性。
例如“Name”属性,则可以指定该窗口的标题:
>> figure('Name','显示处理结果');
>>figure('Position',[600,300,300,200]);
其中属性值为一个四元数组
[left,bottom,width,height],
第一、二个参数表示窗口位置,都是从屏幕的左下角计算的。
>>h1=figure
(1)
>>set(h1,‘position',[400,100,300,300])
>>set(h1,'color',[0.30.50.8])
>>plot(1:
10,2:
11)
>>scrsz = get(0,‘ScreenSize’);%获取显示器屏幕尺寸
>>f_size=[1 scrsz(4)/2 scrsz(3)/2 scrsz(4)/2];
>>h=figure(‘Name’,’图1’,’Position’,f_size);
>>set(h,’NumberTitle’,’off’) %隐藏数字标题即左上角的“Figure1,2..”
>>set(h,’NumberTitle’,’on’) %显示数字标题
>>set(h,’Menubar’,’No’) %隐藏菜单栏
>>set(h,’Menubar’,’Figure’)%显示菜单栏
•axes——创建轴对象
h=axes(‘property’,[left,bottom,width,height])
定义轴对象的位置与大小
语法
•axes
axes('PropertyName',propertyvalue,...)
axes(h)
h=axes(...)
•close;
•%先创建两个坐标系,过程中指定某些参数
•h1=axes('Position',[0.10.20.30.6]);
•h2=axes('Position',[0.60.20.30.6]);
•%将h1设置为当前坐标系,为绘图准备
•axes(h1)
•plot(rand(10,3))%默认的LineStyleOrder为'-'
•%将h2设置为当前坐标系
•axes(h2)
•[x,y,z]=peaks;
•mesh(x,y,z)
•set(h2,'Visible','off')
•line—创建线对象
h=line(x,y,z)
•line([起点横坐标,终点横坐标],[起点纵坐标,终点纵坐标])
•例line([1,2],[3,4])将画出(1,3)到(2,4)的一条直线,而不是(1,2)到(3,4)。
•>>close;
•>>figure;
•>>h=line([16],[4,4]);
•>>set(h,’color’,’k’);
•>>set(h,’linewidth’,2);
•%set(h,’color’,’k’,’linewidth’,2);
•
•Image—显示图象
h=image(x);x为图像矩阵
•text—标注文字
h=text(x,y,’string’)
每个底层函数只能创建一个图形对象,并将它们置于适当的父辈对象中。
•熟悉图形对象句柄与句柄操作
•掌握图形对象属性的查询与操作
•能够任意设置图形对象的属性
图形对象属性的获得与设置
•句柄属性的设置与修改
get:
获得句柄图形对象的属性和返回某些
对象的句柄值
set:
改变图形对象的属性
•专用函数:
gcf当前窗口对象的句柄GetCurrentFigure
gca当前轴对象的句柄GetCurrentAxes
操作格式:
h=gcf将当前窗口对象的句柄返回h
get(h)或get(gcf)查阅当前窗口对象的属性
例:
h=line(x,y)
1.get(h)
2.set(h,…)
3.h1=line([0:
10],[0:
10])
•查阅线对象的属性名称和属性值
>>get(h1)
Color=[110]
EraseMode=normal
LineStyle=-
LineWidth=[0.5]
MarkerSize=[6]
Xdata=[(1by11)]
Ydata=[(1by11)]
Zdata=[]
ButtonDownFcn=
Children=[]
Clipping=on
Interruptible=no
Parent=[56.0001]
Type=line
UserData=[]
Visible=on
设置线条颜色
set(h1,'color',[100])
set(h1,'color',[10.50])
常用
>>x=[0:
0.1:
2*pi];
>>y=sin(x);
>>h1=plot(x,y);
>>set(h1,...);
>>set(gcf,...);
>>set(gca,...);
set(gca,'ydir','reverse')
>>set(gca,'xtick',[])
>>set(gca,'ygrid','on')
>>set(gca,'linewidth',2)
>>set(gca,'fontsize',15)
•对观测数据进行预处理,一般处理成距平的形式(或标准化形式),得到Xm*n
•计算X的协方差阵S(或相关系数阵R)
•计算S(或R)的特征值和特征向量
•计算主成分,取前80%方差贡献的主成分
•特征向量为空间模态EOF,主成分即为时间系数PC
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 气象 统计 应用 matlab 考点