PART 0 :绪论
2018年9月11日
16:54
参考书籍:
• 理论教程 《MATLAB与计算方法》 谢进,李大美主编 武汉大学出版社 图书馆编号TP312MAX321
• 实践教程 《MATLAB基础与运用》 熊庆如主编 机械工业出版社 图书馆编号TP321MAX418
花费大概一周的业余时间完成MATLAB的基本语法的学习,数据处理和图形绘制的基本应用,会用MATLAB解决实际问题
PART 1:MATLAB基础知识
Chapter 1:初识MATLAB
• PLOTS(绘图功能)可绘制大量函数图形、统计图形
• 换行不执行在【shift+enter】实现(在命令行中)
• Choose->column可添加监视最大值最小值
• 在MATLAB语言中,注释用“%”来进行行注释 多行同时注释时应先选中,在ctrl+R,取消为ctrl+T
• 常用命令操作 ans 答案 clc 清楚命令行 clear 清除变量
disp显示矩阵/文本 exit/qui退 出matlab
Chapter 2:MATLAB中的变量、数据的显示格式和特殊字符
2.1 变量
变量的命名规则:字母开头,大小写区分,无需声明;
变量有四种类型:double,char,sym,struct;
某些变量被自动赋值,称之为固有变量
例:X1=1/3;X2=“1/3”
X3=sym(‘1/3’);X4.a=1/3;
例: i/j 虚数单位; Inf 无穷大
NaN 非数 ;ans 当前答案
2.2 数据的显示格式
是可以通过键入 format +… 来改变显示格式
Short/long 5/15位固定点格式
Short/long e 5/15浮点格式
Short/long eng 5/15工程格式
2.3 特殊含义的符号
" , " 换行并显示结果、在矩阵中是分隔符
" ;"换行不显示结果、在矩阵中做换行符
" ’ "单引号表示对矩阵做转置运算
Chapter 3:矩阵的操作
3.1 矩阵的输入和生成
键入help elmat可以查看此种命令
在命令行中直接键入;键入例:A=[1 1 1;2 2 2;3 3 3] ;
直接输入
利用矩阵编辑器输入矩阵; 键入例:键入B=1,双击B,在数组编辑器中编辑数组;
由外部文件导入,支持excal和txt格式的文件导入
X=first:increment:last 从first开始,以increment为步长,到last为止创建数组;increment不写默认为1
X=linspace(a,b,n) 从a到b,创立由n个等间隔的数构成的数组
X=logspace(a,b,n) 从10a 到10b n个数
Matlab函数创建 键入helb(n)可创建n阶helbert矩阵,求逆时需要专门的函数
键入rand(m,n)创建mn阶的随机数矩阵
zeros(m,n) 创建mn阶的零矩阵
ones(m,n) 创建mn阶的元素全为矩阵1的矩阵
eyes (m,n) 创立mn阶的辨识矩阵,主对角元素全为1,其余元素全为0
3.2矩阵结构的变换
• diag()
diag(v)是生成矩阵V的主对角线元素所构成的列向量
diag(v,k)表示生成矩阵V的第k条对角线元素所构成的列向量。k>0表示在主对角线的上方;k<0表示在主对角线的下方
若v为n维向量,则diag(v)表示生成以v为对角线的n阶方阵,diag(v,k)生成n+k阶方阵,且v为此方阵的第k条对角线
• blkdiag
主对角元素为子矩阵的对角矩阵
例:A=[1 2;3 4];B=[5,6] blkdiag(A,B)
ans=[1 2 3; 3 4 0; 0 0 5;0 0 6]
• tril
提取主对角线下方的下三角矩阵。调用方法tril(A,k)。k=0,表示调取下三角矩阵;k>0表示调取主对角线上方第k条对角线下方的
元素;k<0表示提取主对角线下方第k条线下方的所有元素
• triu
提取上三角矩阵,用法和tril完全一样;
• 删除替换
寻址:A(x,y)第x行,第y列元素,行优先原则,下标计数从1开始
矩阵的标识A(i,j)标识第i行,第j列的元素 ;A(i,:)标识第i行元素;A(i,[2,3])标识第i行第2、3个元素
例:A为一个3*4的矩阵,实现如下操作:B=A([1,3],:)删除了第二行元素;D=A(:,[2,1,4,3])将12列交换,34列 交换
空矩阵X=[ ]。标志矩阵M不含任何元素,空矩阵不是0,也不是不存在。
例:A(m,:)=[ ] 删除第m行;
拼接矩阵,拼接矩阵需满足线性代数的子矩阵划分理论。
例:a11=[1 2] a12=[3] a13=[4 5 6] a21=[7 8;13 14] a22=[9;15] a23=[10 11 12;16 17 18]
A=[a11 a12 a13;a21 a22 a23] ans=[1 2 3 4 5 6 7;8 9 10 11 12;13 14 15 16 17 18]
Chapter 4:矩阵的基本运算
4.1 矩阵的加、减、乘运算
• Matlab中矩阵的加法、减法、乘法运算与线性代数的定义是一致的。
• 在乘法运算中,二者的行列书必须要是匹配的,否则会报错。
• 在加减法运算中,有一种特殊情况,当其中一个矩阵退化成一个数时,重新定义结果为矩阵的每一个元素加减此数。
4.2 矩阵的点乘运算
这是Matlab新定义的运算,符号为".*".运算法则为两同阶矩阵的同位元素相乘。用于多项式相乘的结果矩阵
4.3 矩阵的除法运算
Matlab重新定义的运算,有左除"“和右除”/"两种;
求逆矩阵法,用inv()函数 无论是从计算精度还是计算时间上,除法的效率比求逆高
解方程AX=b 当A不是方阵但却是奇异矩阵时,依然可以尝试除法来求解
也可利用伪逆函数pinv()来计算
用除法直接求。 如果方程组的解不唯一,除法给出的仅仅是一个特解,范数最小且含有尽可能多的0.
4.4 矩阵的点除运算
Matlab重新定义了一种除法运算,符号为"./“或者”.".运算法则为两同阶矩阵的同位元素相除。用于多项式相除的结果矩阵。某一矩阵
退化为数有可能可以进行运算。
4.5 矩阵的乘方运算
A^p代表A的p次方,若p为正数,则为该矩阵自乘p次;若p为负数,则结果为该矩阵的逆自乘p次。若p为0,则结果为与n同阶的单位矩阵。
A.^p代表A的各元素自己的p次方所形成的的新矩阵。
Chapter 5 :Matlab的函数命令
5.1 基本函数
在命令行键入"help elfun"可查到所有基本函数
这些函数都是定义在负数域上的,值域也是复数域,只有函数realpow( )、reallog( )、realsqrt( )才是定义在实数域上的。
如输入函数参量是矩阵,输出为同阶矩阵,每个元素为原矩阵对于元素进行相应操作所得到的数。(便于进行批量处理)
5.2 数据分析(Data Analysis)函数
在命令行键入"help datafun"可查到所有数据分析函数。
一般来说,输入向量应该是列向量;如果输入行向量,也能计算;输入矩阵则按列向量计算。
5.3 矩阵函数(Matrix Function)
在命令行键入"help matfun"可查到所有数据分析函数,再用help+函数名的方法可以查到具体用法。
• 关于矩阵分析的命令(Matrix Analysis)
rank()求矩阵的秩 det()求矩阵的行列式 trace()求迹,主对角线元素之和 rref()进行初等行变换,变化成阶梯矩阵
• 关于解线性方程组的命令(Liner Equations)
inv()求矩阵的逆 pinv( )求矩阵的伪逆
• 关于求特征值和奇异值的命令(Eigenvalus and Singular Values)
eig()求矩阵的特征值和特征向量 。调用时E=eig(A)E为A的特征值构成的向量;[V,D] D是以A的特征值为主对角线元素的
对角矩阵,V是与特征值相对应的特征向量所构成的满秩矩阵
Chapter 6 :Matlab的绘图
6.1 平面函数的绘制
在x-y平面下画函数图像利用plot()函数,调用格式plot(x1,y1,x2,y2,……)两个一对。
• 曲线的修饰
plot(x1,y1,s1…,‘LineWidth’,a) S代表各种字符,可以调节颜色和节点组合,‘LineWidth’,a(数字)用来调节曲线宽度
• 坐标轴的控制
axis([xmin,xmax,ymin,ymax])指定坐标轴的显示范围 asix equal使坐标轴单位长度相等 asix square 使坐标轴为正方形
• 图形标注,图形说明,网格
(1)图形说明命令
title(‘ S’)题头标注 xlabel(‘S’)x轴标注 ylabel(‘S’)y轴标注
(2)图形说明命令
legend(‘S1’,‘S2’,pos) 线型说明,用来为曲线备注 pos设置标注位置
(3)网格
grid on 在坐标上画网格 grid 在坐标上去除网格 grid在上面两个切换
6.2 空间图形的绘制
(1)空间曲面的绘制
一般的,,对于矩形区域D,可分别求出n维向量x和m维向量y,再用命令[X,Y]=meshgrid(x,y),求得矩形区域横纵交点的横纵坐标的矩阵
X和Y。最后再用mesh(X,Y,f(X,Y))来画出图形。Meshc()可画出带有等高线的图形。
(2)绘制空间曲线的命令是plot3调用格式为plot3(x,y,z)用法与plot完全一样
2018年9月11日
16:49