Matlab学习笔记

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) 创建m
n阶的零矩阵
ones(m,n) 创建mn阶的元素全为矩阵1的矩阵
eyes (m,n) 创立m
n阶的辨识矩阵,主对角元素全为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

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值