matlab基础操作查漏补缺

矩阵

矩阵的元素可以是数值和表达式
mxn称为矩阵
mx1或1xm称为向量
1x1称为标量
复数的表示: m+ni

生成矩阵的命令

zeros(n) 创建一个nxn的0矩阵
ones(n) 创建一个nxx的1矩阵
eye() 创建一个主对角线都是1的矩阵
rand() 所有的值都是[0,1]区间的随机数
randn() 均值为0,均方差σ为1的标准正态分布的随机值
cat()沿指定的维方向串接成高维数矩阵
horzcat()沿水平方向串接成高纬度矩阵
vercat()沿竖直方向串接成高纬度矩阵
repmat(X,m,n) 通过赋值X矩阵和堆叠,形成一个新的矩阵
m 是竖直方向复制的次数
n 是水平方向复制的次数

对数等分向量: logspace(x1,x2,n)
x1: 起始值是10^x1
x2: 终止值是10^x2
n:生成的向量包含n个元素

矩阵信息的获取

size(X,dim) 获取矩阵X的维度信息
dim 如果是1表示竖直方向,如果是2表示水平方向
length(X)是获取矩阵X中长度最长的方向的长度
ndims() 获取矩阵的维度
numel() 获取矩阵的元素个数

transpose(X)是对X的非共轭转置 同 X.’
ctranspose(X) 是对X的共轭转置 同 X’
reshape(X,m,n) 是将X矩阵的元素按列的方向排列重组成mxn的新矩阵
tril(X,k) k = 0 是以主对角线为基准的值,>0是基准以上,<0是基准以下
triu(X,k) k的含义与tril的k 刚好相反
diag(X,k) 抽取主对角线以上第k条对角线作为向量
blkdiag(a,b,c,d,…..) 构造以输入元素作为对角线元素的矩阵,其他的补0

稀疏矩阵

由于矩阵中非0元素比较少,直接描述矩阵中非0元素的位置和值,来减少内存的占用和方便观察

例:
0 0
1 0
用系数矩阵描述就是
(2,1) 1

sparse(X) 将正常矩阵X转换为稀疏矩阵
full(A) 将稀疏矩阵A 转换为正常的矩阵表达形式
speye() spones() sprand() sprandn() 对应与正常矩阵的eye(),ones(),rand()和randn()
区别是 spones(S)是将稀疏矩阵S 中非元素全部变成1
sprand()和sprandn()的参数都需要多加一个density(密度)

矩阵操作函数
  • det() 求一个矩阵的行列式 det(A)=0是奇异矩阵(无解或无穷解) det(A)≠0(非奇异阵,唯一解)
  • inv() 求一个矩阵的逆矩阵
  • det() = 0 或趋近于0 ,则称这个矩阵是病态的,即构成的方程组对微小的数据扰动,解的差别会极大
    用范数来衡量这种病态程度,包括1-范数(norm(A,1)),2-范数(norm(A,2)或norm(A)),∞-范数(norm(A,inf))三种常见形式
    条件数的定义是 A的范数与A的逆矩阵的范数的乘积
    1-范数下的条件数cond(A,1) 2-范数下的条件数cond(A,2) ∞-范数下的条件数cond(A,inf)
    条件数越大矩阵越病态,当值趋近于10^16时,为奇异矩阵
  • rank()求一个矩阵的秩
基本的编程命令
  • 从控制台由用户输入数据
    input(‘提示信息’) 输入数值变量
    input(‘提示信息’,’s’) 输入字符串变量
    格式化输出:
    fprintf(fileID,format,A)
    fileID 一个文件对象(文件对象可以通过fopen(filepath,limit))得到
    limit 有’r’只读 ‘w’读写 ‘a’如果没有文件就创建
    fopen()之后一定要在程序结束时fclose(fileID) 把文件从内存写回到磁盘
    format有以下形式:

    • %d 整数
    • %f 小数
    • %e 实数(科学记数法的形式)
    • %s 字符串

    A指输出的数据

从excel格式的文件中读入数据的命令
xlsread(‘filepath’,sheet_num);
filepath是.xsl格式文件的存储位置,sheet_num是要读取的sheet的标号

  • 函数
    获得输入参数的个数 nargin(‘function_name’)
    获得函数返回值的个数 nargout(‘function_name’)
    匿名函数的创建(不需要单独写在.m文件中)
    格式:fun = @(argument)expression
数据的统计特征

std() 求传入数据的标准差
cov() 求协方差
mean() 求算数平均值
prod() 求各元素的乘积
var() 求方差
range() 求极差
median() 求中值

参数估计的通用函数
[phat,pci]=mle(‘namedist’,x)
phat为估计值
pci为置信区间
‘namedist’ 是分布函数的名字
x是样本数据

vpa(x,n)
x是符号或数值
n 是将x的结果取n位有效数字
digits(n) 是直接规定运算的结果的有效数字位数

clf命令是清除当前的曲线
[x,y] = ginput(n) 用鼠标从图像中取n个点,结果保存在[x,y]中
figure(n) 创建编号为n的图形窗口
pie(x,explorde) 绘制饼状图
x 是一个向量,explode 是一个由0和1组成的向量,长度和x相同,explode中为1的部分在饼图中会独立出来,为0的部分和剩余部分连接在一起

hidden on 透视被叠压的图形
hidden off 隐藏显示被叠压的图形

绘制地图的命令

file = shaperead(path) % path是.shp文件的路径
mapshow(file); title('地图');

猜你喜欢

转载自blog.csdn.net/Clark_Fitz817/article/details/81281012
今日推荐