MATLAB基本操作
(1)常用函数列表
函数名 | 说明及运用 |
---|---|
abs | 绝对值或复数的模(abs(-5)=5) |
sqrt | 平方根函数(sqrt(4)=2) |
exp | 指数函数(exp(x)=7.3891) |
round | 四舍五入到最近的整数 (round(4.8)=5) |
ceil | 向正无穷取整(ceil(4.2)=5) |
floor | 向负无穷取整(floor(4.8)=4) |
fix | 向0方向取整(fix(2.8)=2)和(fix(-2.3)=-2) |
rem | 求余函数 (rem(10,3)=1) |
mod | 取模函数,当 x 和 y 的正负号一样的时候,求余和取模结果是等同的;当 x 和 y 的符号不同时,rem 函数结果的符号和 x 的一样,而 mod 和 y 一样 |
mean | 均值,A为矩阵,mean(A):列均值;mean(A,2):行均值;mean(mean(A,2)):一个常数,总均值 |
std | 标准差 |
max | 最大值,A为矩阵,max(A):列最大值;max(A,[],2):行最大值;max(max(A,[],2)):总最大值 |
min | 最小值,A为矩阵,max(A):列最小值;max(A,[],2):行最小值;max(max(A,[],2)):总最小值 |
var | 方差 |
cov | 协方差 |
corrcoef | 相关系数,x,y为个数相同的列向量;corrcoef(x,y)表示序列x和序列y的相关系数,得到的结果是一个2*2矩阵,其中对角线上的元素分别表示x和y的自相关,非对角线上的元素分别表示x与y的相关系数和y与x的相关系数,两个是相等的。 |
(2)定义向量
行向量 | [x1,x2,x3,…] |
---|---|
列向量 | [x1;x2;x3;…] |
等间隔向量 | X=初值:步长:终值; (X=1:2:6=[1,3,5]) |
等间隔向量 | X=linspace(初值, 终值, 向量长度);(linspace(1,10,5)=[1,3.25,5.5,7.75,10]) |
(3)定义矩阵及其访问
直接输入 | A=[1,2;3,4] |
---|---|
矩阵转列向量 | X=A(:);如:A=[1,2;3,4],X=A(:)=[1,3,2,4] |
向量转矩阵 | A = reshape(X, [m, n]),将向量X转为m行n列的矩阵 |
访问矩阵元素 | x = A(i, j) : 访问矩阵A的第i行第j列的元素;x = A(k) : 访问矩阵A的第k个元素 |
提取矩阵元素 | A1 = A(a:b,c:d):提取矩阵a-b行和c-d列(相交)的所有元素 |
高维矩阵 | A=zeros(a,b,c):a行,b列,c维的0矩阵 |
注意 | 在MATLAB中矩阵是以列方向为主方向 |
(4)元胞数据
元胞数据直接定义 | c1 = {[1 2; 3 4], ‘xiezhh’, 10; [5 6 7], [‘abc’;‘def’]} |
---|---|
cell定义元胞数组 | c2 = cell(2,4),同样可定义高维的元胞数据 |
元胞数组访问 | 访问元胞数组C的第i行第j列的元胞,用命令C(i, j),注意用的是圆括号;访问元胞数组C的第i行第j列的元胞里的元素,用命令C{i, j},注意用的是花括号。 celldisp函数可以显示元胞数组里的所有内容 |
(5)结构体
赋值定义 | struct1(1).name = ‘xiezhh’;struct1(2).name = ‘heping’;struct1(1).age = 31; struct1(2).age = 22; |
---|---|
struct定义 | struct2 = struct(‘name’, {‘xiezhh’, ‘heping’}, ‘age’,{31, 22}) |
(6)数据转换
mat2cell | 将矩阵分块,转为元胞数组 |
---|---|
cell2mat | 将元胞数组转为矩阵 |
num2cell | 将数值型数组转为元胞数组 |
cell2struct | 将元胞数组转为结构数组 |
struct2cell | 将结构数组转为元胞数组 |
num2str | 将数值型数组转为字符型数组 |
str2num | 将字符型数组转为数值型数组 |