Matlab学习笔记
特殊变量表
pi | 圆周率 |
---|---|
eps | 最低精度 |
inf | 无限大 |
NaN | 相当于0/0 |
基本运算符
\(+\) 加法
\(.*\) 点乘
\(./\) 点除
.^ 点逆
\ 左除
函数
\(disp(x)\) 输出\(x\)
\(fprintf(``,)\) 数据格式化输出,类似于\(c++\)中的\(printf("",)\)
\(fix(),ceil(),floor(),round()\)分别是向零取整,向正无穷取整,向负无穷取整,四舍五入
数组和矩阵生成及操作
数组生成
1)直接输入
\(a=[1,4,3,2]\)
\(b=[a:b:c]\),生成一个以\(a\)为首项\(b\)为公差到\(c\)的几个点
2)\(linsapce(a,b,c)\) 生成在区间\([a,b]\)的\(c\)个点
3)直接从矩阵中抽取行或列
\(length(A)\),输出向量\(A\)的长度
矩阵生成
1)直接输入
\(A=[1,2,3;4,5,6;,7,8,9]\),其中\(,\)与空格等价,\(;\)与回车等价
,
2)用向量或数组拼接成
\(A=[B;C]\)
3)函数生成
\(zeros(m,n)\),生成一个\(m*n\)的全零矩阵。
\(ones(m,n)\),生成一个\(m*n\)的全\(1\)矩阵。
\(eye(m,n)\),,生成一个\(m*n\)的主对角线全为1的矩阵(其中\(m=n\)时为\(n\)阶单位矩阵)
\(diag(X)\),若\(X\)为矩阵则为\(X\)的主对角线向量,若\(X\)为向量则为以\(X\)为主对角线向量的矩阵
\(tril()\),提取上三角
\(triu()\),提取下三角
\(rand(m,n)\),生成\([0,1]\)间随机分布的矩阵
矩阵操作
\(A(:)\) \(A\)的所有元素,列优先
\(A(:,:)\) 二维矩阵\(A\)的所有元素
\(A(:,k)\) \(A\)的第\(k\)列 ,\(A(k,:)\) \(A\)的第\(k\)行
\(A(k:m)\) \(A\)的第\(k\)到第\(m\)个元素
\(A(:,k:m)\) \(A\)的第\(k\)到第\(m\)列形成的子矩阵,\(A(k:m,:)\)同理为行的子矩阵
\(A(k,m)=a\) 对\(A\)矩阵的第\(k\)行第\(m\)列进行赋值
\(A(k,:)=b\) 对\(A\)矩阵的第k行进行赋值,\(b\)为行向量,列类似
\(A(k,:)=[]\) 删除\(A\)矩阵的第k行,列类似
\(reshape(A,a,b)\)将\(A\)矩阵按列优先进行重组
\(size(A)\)输出\(A\)的行数和列数
\(size(A,1)\)输出\(A\)的行数
\(size(A,2)\)输出\(A\)的列数
关于矩阵的左除和右除
左除x=A\B等同 \(A*x=B\)
右除x=A/B等同 \(x*A=B\)