Matlab数据处理与分析Word下载.docx
- 文档编号:6540013
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:70
- 大小:1.12MB
Matlab数据处理与分析Word下载.docx
《Matlab数据处理与分析Word下载.docx》由会员分享,可在线阅读,更多相关《Matlab数据处理与分析Word下载.docx(70页珍藏版)》请在冰点文库上搜索。
其中
是指定当前工作路径,如果要向某文件夹中读取或保存相关内容,则通过点击
,然后选择该文件夹作为当前工作路径。
然后点击左侧的
,则会出现CurrentDirectory对话框如图1-10所示,用来显示当前路径中的文件信息。
它和Workspace处于同一具标签对话框中。
图1-10
右侧是CommandWindow窗口,如图1-11所示,是用来输入MATLAB指令的。
一打开MATLAB则在CommandWindow中会出现“>
>
”,此符号表示MATLAB软件已准备好了,正在待命令的输入。
如输入指令:
A=[123]
然后回车,则出现运算结果:
A=
123
此指令表示输入一个一行三列的矩阵(即行向量),并将此矩阵(向量)保存在变量A中。
关于矩阵及向量向量,在第二章中详细解释。
图1-11
指令执行完毕之后,会发现左下方的CommandHistory窗口中会多出现一行刚刚输入的指令。
如图1-12所示,CommandHistory是用来保存输入过的命令,方便以后查找或再次使用。
同时Workspace标签属性页也会多出一行。
如图1-12所示,CurrentDirectory是用来显示可用的各种变量的。
图中说是说明了刚才得到的变量A,它的值、最小、最大元素及类型等信息。
图1-12图1-13
在
上任一处右击,然后在弹出菜单上选择需要查看的相关信息。
如图1-14所示。
如果需要用到以前的命令,可以在CommandHistory窗口中查到,可按日期查找,可以选择单条历史命令,也可以同时选择多条历史记录。
然后右选择复制,将其粘贴到CommandWindow窗口中执行。
也可将其作为文本复制到Word文档或txt文档中。
如果双击历史记录中的命令,则系统会立即执行被双击的命令一次。
如果CommandHistory窗口中一些命令不需要,可以一条或多条记录,然后按“Delete”键,将之删除。
图1-14图1-15
.3.MATLAB的帮助详解
点击主菜单中的Hellp\MATLABHelp或直接按F1,进入MATLAB自带的帮助界面,如图1-16所示。
点击各个节点可以查看相关帮助信息。
帮助文件里有详细的解释和丰富的实例。
图1-16
由帮助界面,可以看以MATLAB的强大功能,它可以与主流的软件开发工具进行混合编程开发。
与Java和.Net无缝对接。
只有勤查帮助或网上查找资料才能起到事半功倍的学习效果。
第二章数组与矩阵的概念及其运算
在MATLAB中预定了一些符号,用于特定的含义,以下是一些预定义的符号:
表2-1
符号
意义
ans
默认变量名
pi
圆周率
eps
机器可识别的最小的数
flops
浮点运算之数
inf
无穷大
NaN
非数
i或j
虚数单位
realmax
最大的实数
realmin
最小的实数
intmax
最大的整数
其余的请参看联机帮助系统。
.1.数组与矩阵的概念
MATLAB中,数组和矩阵本身是没有区别的,在内存中是一样的。
只是针对不同的运算方式,将其为数组运算或矩阵运算。
如果运算是按元素对应进行的,则称为数组运算。
如果按线性代数学中的方式运算,则称为矩阵运算,如例2-1
例2-1数组与矩阵的区别演示。
设有矩阵A和B如下:
以数组方式运算方式:
,其中Inf表示无穷大(非数)
MATLAB指令:
A=[-11;
02]%输入的矩阵保存在变量A中
-11
02
B=[-11;
02]%输入的矩阵保存在变量B中
B=
02
A.*B%以数组方式相乘,
ans=
-12
08
A./B%以数组方式相除
Inf2
几点说明:
1、MATLAB中,矩阵(数组)按元素逐个输入的方法,就是将所有元素放在一对方括号内,行与行之间以分号“;
”隔开,每一行中各元素之间以空格或逗号隔开。
详细说明参看节内容;
2、MATLAB指令输入时,必需在英文状态下输入,否则会出错;
3、如果一条指令以分号“;
”作为结束符,则运算结果并不显示在Command
Window窗口中,但保存在Workspace中。
如果没有分号,则将结果显示在CommandWindow中;
4、百分号“%”表示注释,从%开始到行未为方便人阅读所加的注释,不是指令中的一部分;
5、注意数组方式运算有一个小黑点“.”;
6、本书中凡MATLAB指令都用加粗字体;
7、MATLAB中变量无需要声明就可直接使用,根据赋值符号“=”右则表达式的类型来自动确定左侧的类型。
如A=[-11;
02],A表示一个2阶矩阵。
以矩阵方式运算(即按线性代数中的矩阵运算):
当然,矩阵的加法和减法两种方式都是一样的,
A*B%矩阵方式相乘
-15
-311
A/B%矩阵方式相除
注意:
如本书中后面内容只提及矩阵,只有当涉及到数组方式的运算时才将矩阵称为数组。
.2.矩阵的创建和操作
在MATLAB中,有两种创建矩阵的方法。
一是直接按元素逐个输入的方法,如例2-1所示;
另一种就是使用MATLAB相关的指令来创建。
一、直接输入元素创建
直接按元素逐个输入来创建矩阵,就是将所有元素放在一对方括号内,行与行之间以分号“;
只有一行的矩阵称为行向量(也称为一维数组),只有一列的矩阵称为列向量。
此方法可创建向量和矩阵。
例2-2直接输入创建向量和矩阵演示。
vr=[1234]%创建行向量,元素之间以空格隔开
vr=
1234
vc=[1;
2;
3]%创建列向量,行之间以分号隔开
vc=
1
2
3
m23=[123;
456]%创建一个2×
3行的矩阵
m23=
123
456
二、MATLAB指令创建
在MATLAB中指令,更多时候也称为函数。
可以使用MATLAB内置的函数来创建矩阵(数组)。
以下以举例的方式说明。
例2-3通过MATLAB指令创建向量和矩阵演示:
1、指定起点:
步长:
终点。
如果不指定步长,则将步长默认为1,最后一个元素不一定是终点,这取决于区间长度是否为步长的整数倍。
该方法用于创建向量。
v=0:
:
1%以0为起点、1为终点、步长为创建一个数组(行向量)
v=
0
pi%起点0、终点pi、默认步长1。
最后一个元素不是终点。
0123
2、linspace(起点,终点,元素个数),等分间隔。
v=linspace(0,pi,3)
v=linspace(0,3,5)
3.特殊矩阵的创建。
创建特殊矩阵的常用函数:
rand、magic、zeros、ones和eye等,需要深入研究请参看联机帮助。
rand('
state'
0)%把均匀分布伪随机发生器置为0状态
v=rand(2,3)%产生一个2×
3的随机矩阵
m=magic(3)%产生一个3阶魔方矩阵
m=
816
357
492
zeros(3)%产生一个3阶零矩阵
000
zeros(2,3)%产生一个2×
3的零矩阵
eye(2,3)%产生一个2×
3的矩阵,左边2×
2是一个单位矩阵
100
010
eye(3)%产生一个3阶单位矩阵
001
ones(2,3)%产生一个元素全为1的2×
3阶矩阵
111
另外还有其它特殊的矩阵创建函数,如有需要请参看帮助。
.3.矩阵的访问操作
以下以举例的方式说明矩阵的访问操作如下:
例2-4矩阵访问举例演示:
v=[1234567];
%生成一个行向量
v(3)%查询第三个元素的值
ans=
3
v(3)=23%将第三个元素的值设为23
12234567
v([126])=[111216]%将下标为1、2、6的三元素的值设为11、12、16
11122345167
v(4:
end)%查询第4至最后元素之间的所有元素
45167
v(1:
5)%查询第1至5个元素
11122345
m=[123;
456]%产生一个新矩阵m
456
m(2,3)%查询第2行第3列位置上的元素
6
m(:
2)%查询第2列元素上所有行的元素
2
5
m(2,:
)%查询第2行上所有列的元素
m(2,[12])%查询第2行上的第1、2列位置上的元素
45
m(1,[23])=[8899]%将第1行上的第2、3列上的元素分别设为88和99
18899
m(2,2)=518%将第2行2列位置上的元素设为518
45186
.4.矩阵的基本运算操作
矩阵的常用基本运算有加、减、乘、除、求逆等。
数组方式和矩阵方式的运算符只差了一个小圆点,注意观察实例代码。
1、加法和减法
数组方式和矩阵方式都是一样的,就是直接将对应位置上的元素相加。
如果是一个数和矩阵相加,则矩阵的每一个元素都加上这个数。
例2-4矩阵加法操作演示:
A=magic(3)%产生一个魔方矩阵
B=ones(3)%产生一个元素全为1的矩阵
A+B%矩阵的加法
927
468
5103
2+A%数与矩阵的加法
1038
579
6114
2、乘法、除法与逆运算
数组方式的乘法和除法是依元素对应相乘;
矩阵方式的乘法则是按线性代数中的方法进行,矩阵的除是按线性代数中的取逆进行。
左除:
A/B,相当于A*B-1,右除:
A\B,相当于A-1*B。
逆运算按线性代数中的方法进行。
例2-5矩阵乘、除操作演示
A=magic(3);
B=ones(3);
A.*B%数组方式的乘法
A*B%矩阵方式的乘法
151515
M=[1,2;
21]
M=
12
21
B=[1-1;
10]
1-1
10
A./B%维数不匹配,将会出错
Errorusing==>
rdivide
Matrixdimensionsmustagree.
M./B%数组方式的除法
1-2
2Inf
B./M%数据方式的除法
0
M/B%矩阵方式的除法
-23
-13
M*inv(B)%以矩阵方式运算,M乘以B的逆矩阵
inv(B)%计算B的逆
01
-11
3、矩阵作为函数参数
如果矩阵(数组)作为标准数学函数的参数,则对每一个元素都作同一函数计算。
如V是一个行向量,R=sin(V)的运算结果R也是一个行向量,且R是的每一个元素都是由V中对应元素值求正弦值得到。
例2-6矩阵作为函数参数演示
v=[0pi/2pi3*pi/22*pi]%产生一个有4个元素的行向量
r=sin(v)%计算结果也是一个向量,和v的元素个相同
r=
4、常用的矩阵操作函数
常用的矩阵操作函数如左右置换、上下置换、旋转,以下举例说明。
例2-7矩阵常用操作演示
A=magic(3)
flipud(A)%矩阵上下翻转
fliplr(A)%矩阵左右翻转
618
753
294
rot90(A)%矩阵旋转90度
672
159
834
.5.非数、关系运算与逻辑操作
1、非数NaN
当表达式中如果分母出现零,或类似于
的表达式运算时都会产生非数NaN,即Notanumber。
NaN具有如下性质:
◆NaN参与的运算结果也是NaN;
◆非数没有大小的概念,因此不能将两非数去比较大小。
非数真实的记录了运算结果,即数学中的无限变换趋,以下举例说明。
例2-8非数使用演示
log(0)%即相当于自变量趋向0时的极限为负无穷大
-Inf
t=1/0%相当于分母从右侧趋向趋向0时的极限为无穷大
t=
Inf
cos(t)%对非数计算余弦结果为非数
NaN
非数要用于数据可视化中,如将图中某一指定部分镂空,将用到非数,详见第七章。
2、关系运算与逻辑运算
关系操作符有:
==或eq(A,B),~=或ne,<
或lt,>
或gt,<
=或le,>
=或ge,以及&
或and、|或or和~或nor等具体函数要求自行查阅帮助系统。
另外有关函数如下:
all,any,isqual,iempty,isfinite,isinf,isnan,isnumeric,isreal,isprime,isspace,isstr,ischar,isstudent,isunix,isvms,find.列表如下,详情请参看联机帮助。
关系运算符如下表2-2
关系运算符
功能
<
小于
=
大于或等于
小于或等于
==
等于
大于
~=
不等于
例2-9关系运算与逻辑矩阵使用演示
A=[159;
347;
268]
347
268
B=magic(3)
C=gt(A,B)%比较大小Greaterthan
C=
011
whosC%查看C的详细信息
NameSizeBytesClassAttributes
C3x39logical
D=and(A,B)%求和运算
D=
B>
3%B中元素值大于1的位置对应1否则对应0,结果是一个逻辑矩阵
101
110
B(find(B>
3))%将B中元素值大于3的元素列出来
8
4
9
7
[r,c]=find(B>
3)%元素值大于3的行号组成的数组r,列号组成数组c
1
c=
B.*(B>
3)%B中不大于3位置上的元素设为零
806
057
490
例2-10绘制[0,3pi]之间的曲线,并截去pi至2pi之间的曲线。
x=linspace(0,3*pi);
%自变量数组
y=sin(x);
%函数数组
x1=(x<
pi)|(x>
2*pi);
%逻辑数组
y1=x1.*y;
%截断数组
plot(x,y1);
%绘图
.6.小结、综合举例与练习
例2-11综合举例,利用关系运算求近似极限,修补图形缺口。
t=-2*pi:
pi/10:
2*pi;
y=sin(t)./t;
%函数值数组
tt=t+(t==0)*eps;
%修正后的自变量数组,元素值为零时,以最小机器数代替
yy=sin(tt)./tt;
%修正后的函数值数组
subplot(1,2,1),plot(t,y),axis([-7,7,,]),%绘制没有修正的图形
subplot(1,2,2),plot(tt,yy),axis([-7,7,,])%绘制修正后的图形
图2-1
第三章矩阵的基本特征参数
本章简要说明反映矩阵特征参数的一些量,如行列式、秩、条件数、范数、特征值与特征向量等问题。
.1.矩阵的基本参数
以一下说明有矩阵信息的基本参数
1、元素个数、行列数及其最大者、元素最大最小元素
例3-1矩阵基本信息查询演示
M=magic(3)
numel(A)%统计矩阵的元素个数
size(M)%计算矩阵的行列数
33
length(A)%计算行数与列数中的最大者
max(M(:
))%求出矩阵中所有元素中的最大者
min(M(:
))%求出矩阵中所有元素中的最小者
.2.矩阵的行列式、秩与范数
计算行列式、秩及范数的指令分别是det、rank和norm
例3-2矩阵行列式、秩与范数使用演示
det(A)%求A的行列式
-360
rank(A)%计算矩阵的秩
A=[569;
351;
861]
569
351
861
binf=norm(A,'
inf'
)%计算无穷范数
binf=
20
b2=norm(A,2)%计算2范数
b2=
.3.条件数、矩阵的稳定性
条件数是反映AX=b中,如果A或b发生细微变化,解变化的剧烈程度。
如果条件数很大说明是病态方程方程,不稳定方程。
例3-3矩阵条件数与稳定性演示
A=[234;
119;
12-6]
234
119
12-6
con2=cond(A)%计算2-范式条件数
con2=
con1=condest(A)%计算1-范式条件数
con1=
817
例3-4求解线性方程组:
12-6]%系数矩阵
b=[1;
-7;
9]%常数列
b=
-7
x=inv(A)*b%逆矩阵的方法求解
x=
-1
A\b%左除方法求解
-1
A=A+%系数矩阵加上扰动
b=%常数列加上扰动
x2=inv(A)*b%以逆矩阵的方法求解
x2=
.4.特征值、特征向量与对角化
与数学知识相关的概念请参考相关数学书籍
例3-5特征值与特征向量演示:
E=eig(A)%计算特征值
E=
[V,D]=eig(A)%计算特
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Matlab 数据处理 分析
![提示](https://static.bingdoc.com/images/bang_tan.gif)