(笔记)学习MATLAB中碰到的函数

函数名 作用
x = logspace(a,b,n) 创建一维数组
第一个元素为10a,第二个元素为10b,形成数量为n的等比数列
x = linspace(a,b,n) 创建行向量,第一个元素为a,第二个元素为b,n把a至b之间的区间分成向量的首尾之外的其他n-2个元素,省略n的话默认为100
c = complex(a,b) a与b为相同长度的数组,c生成分别以a为实部,以b为虚部的虚数数组
a = ones(n)
a = ones(n,m)

a = ones(n.m.q)
只有n的话默认为 n * n 的矩阵
有 n 和 m 生成一个 n * m 的矩阵
大于两个数则有几个数生成几维的矩阵
默认初始化为 1
a = eye(n) 创建一个n*n的单位矩阵
a = zeros(n) 生成矩阵的规则与ones相同。不过生成的是0
a = rand(n) 生成矩阵的规则与ones相同。不过生成的是随机数
a = randn(n) 生成矩阵的规则与rand()相同。不过randn产生的数值服从正态分布
产生一个随机分布的指定均值和方差的矩阵:将randn产生的结果乘以标准差,然后加上期望均值即可。
例如,产生均值为1.6,方差为0.1的一个6*6的随机数方式如下:
x = 1.6 + sqrt(0.1) * randn(6)
strcat( a , b) 连接两个字符串
r = roots ( p) 求多项式的根,p为多项式的系数,根用列向量表示
y = polyval(P,x) 求多项式在某一点的值
x = [1 2 3]
w = conv( u,v) 多项式的乘积,w为结果多项式的系数
[q,r] =deconv(u , v) 多项式的除法,q为商,r为余数
k = polyder (p ) 计算多项式p的导数
k = polyder(a,b) 计算多项式a与b乘积的导数
[q,d] = polyder(a ,b) 计算多项式a,b商的导数
p = polyfit(x,y,n) 拟合函数
通过x与y的图像确定是n阶拟合,p为多项式系数
plot(x,y) 由数组x与y生成一个折线图
hold on 保持上个图不消失,下个图在同一个坐标系显示
C = cat(dim, A1, A2, A3, …) 连接数组,dim为连接方式
1为按列连接(列数不变)
2为按行连接(行数不变)
3为增加维度(行数,列数不变)
sqrtm(a) 矩阵开方,a必须是n*n的矩阵
a = sparse(m,n)
a = sparse(A)
生成一个mxn的所有元素都是0的稀疏阵
a = nnz(b) 求矩阵b中的非零元素个数
spy(b) 生成一个图,标注非零元素的位置
a = nonzero(b) 按列寻找非零元素
speye(m,n) 生成m*n的单位稀疏矩阵
sprand(A) 生成和A相同结构的随机系数矩阵
sprand(m,n,dens) 生成m*n的随机系数矩阵,0< dens < 1为稀疏程度
sprand(A) 生成和A相同结构的正态分布矩阵
sprandn(A)
eig()
s=sparse(A) 将A转化成稀疏矩阵
B=full(s) 将系数矩阵s转化成正常矩阵
r = rank(A) 求矩阵的秩
r = inv(A) 求逆函数
inv(A)*B等于A\B
yi = interp1(x , y , xi , ‘method’) x,y为原已知数据的x , y值, xi 是要内插的点 , method是插值方法
nearest为寻找最近数据节点,执行速度最快,输出结果为直角转折
linear为线性插值,为默认值,在点上斜率变化很大
spline为样条插值,在数据节点处光滑,即左导等于右导,最花时间,但输出最平滑
cubic为三次方程式插值,最占内存,输出结果与spline差不多
interp2()
axis()
meshgrid()
peaks()
sym(A) 或 sym(A ,flag) 将一个数值常量A定义成一个符号常量
flag为可选参数,有四种形式,分别是 'r ’ 'd ’ 'e ’ 'f '
r : 用有理数格式表达符号量
figure()
subplot() 使图像在同一个窗口排列在这里插入图片描述
mesh()
diff()
solve()
y = subs(f1,x,xx) 在f1中用xx代替x,如果xx为数或数组,则返回相应的f1值
residue() [r,p,k] =residue(b,a),求多项式之比b(x)/a(x)的部分分式展开,其中r是部分分式的留数,p是部分分式的极点,k是直接项。[b,a] = residue(r,p,k),从部分分式得到多项式向量。在这里插入图片描述
xlabel(‘text’,‘property1’,‘value1’,‘property1’,‘value1’,‘property1’,…)
gird on 加网格
gird off 去掉网格
legend(‘string1’,'string2"…) 按顺序给每条曲线取一个名字
legend off 撤销之前设置的图例
text(X0,Y0,‘string’) 在X0,Y0坐标添加文本表标注string
gtest(‘string’) 用鼠标拖动来确定标注文字string的位置
axis auto 使用默认设置
axis equal 纵轴横轴采用等长刻度
axis on/off 显示或取消坐标轴
xlilm([xmin xmax]) 设置x轴范围
ylilm([ymin ymax]) 设置y轴范围
semilogx(…) 在x轴上采用对数来进行标定
loglog(…) 采用常用对数来进行标定
box on (off) 对所绘制的图形添加(关闭)图形边框
plotyy(x,y,x,f) 双纵坐标曲线
contour(z) 绘制由数组z构成的二维等值线图,x轴为z的列下标值,y轴为z的行下标值
contour(x,y,z) 绘制以x为横坐标,y为纵坐标,由数组z构成的二位等值线图。 当为向量时,x元素的个数等于z的列数,y元素的个数等于z的列数,为矩阵时,维度应与z相当
nargin/nargout 当调用一个函数时,所用的输入变量和输出变量的数目
varargin/varargout 允许变成这传递货返回可变数目的变量。
fhandle = @functionname fhandle(arg1,arg2,arg3,…,argN)将一些函数写在一块,按数组的方式调用函数
strcmp(表达式,检测值)
fid = fopen(‘filename’)
fid = fopen(‘filename’,‘permission’)
filename为文件名字,permission是打开的方式,常用的有r,w,a,分别是只读,写入,追加
load(‘filename’)
load(‘filename’,‘variables’)
装载磁盘上的二进制/ASCII文件中的变量到工作空间中
dlmwrite(‘filename’,A,precision,delimiter) 向文件中写入ASCII数据,将矩阵A中的元素写入filename指定的文件中,将其转化为precision指定的精度,delimiter可使用’\t’等等
save(filename,variables,fmt,version) 将工作空间中的变量保存到硬盘上,用save命令所形成的文件可以是双精度格式MAT文件,也可以为ASCII文件
wqueeze(S) 将三维数组的维数为1的维度去掉
a=mean(x) 求数组的平均值
a=length(x) 求数组的长度

猜你喜欢

转载自blog.csdn.net/qq_36769966/article/details/102082541