MATLAB仿真中常用的一些函数(不完全个人总结:)—— 第一部分
2018-03-10 16:13
316 查看
MATLAB仿真中常用的一些函数(不完全个人总结:)
对自己日常仿真中出现的比较生疏,或者容易遗忘的MATLAB函数进行了总结,回来查阅或是记忆一下想来也是不错的。Ctrl+F用起来!
1.sort函数——排序函数
1)B=sort(A) 对一维或二维数组进行升序排序,并返回排序后的数组,当A为二维时,对数组每一列进行排序.
A=\[1,5,3\],则sort(A)=\[1,3,5\] A=\[1,5,3;2,4,1\],则sort(A)=\[1,4,1;2,5,3\]
(2)B=sort(A,dim),对数组按指定方向进行升序排序,
dim =1,表示对每一列进行排序,,dim=2表示对每一行进行排序.
(3)B=sort(A,dim,mode),mode为指定排序模式,mode为”ascend”时,进行升序排序,为”descend “时,进行降序排序.
(4)Matlab中给一维向量排序是使用sort函数:sort(A),排序是按升序进行的,其中A为待排序的向量;若欲保留排列前的索引,则可用 [sA,index] = sort(A) ,排序后,sA是排序好的向量,index 是 向量sA 中对 A 的索引。 索引使排列逆运算成为可能。
2.rand函数——生成均匀分布随机矩阵
Y=rand(m,n):生成m*n随机矩阵,值在0到1之间
3.mapminmax函数——归一化函数
x1 = [1 2 4], [y,ps] = mapminmax(x1) y = -1.0000 -0.3333 1.0000 ps = name: 'mapminmax' xrows: 1 xmax: 4 xmin: 1 xrange: 3 yrows: 1 ymax: 1 ymin: -1 yrange: 2
其中y是对进行某种规范化后得到的数据,这种规范化的映射记录在结构体ps中.
y = (ymax-ymin)*(x-xmin)/(xmax-xmin) + ymin y2 = mapminmax('apply',x2,ps); %对x2采用同样的归一化方案 X = mapminmax('reverse',Y,PS); %反归一化
5.matlab中./与/有什么区别
点运算是处理的元素之间的运算,而直接的/在矩阵计算中只能处理符合矩阵运算法则的运算。比如作图时的运算用的都是点运算。在对数值计算时,“./”和“/”其实是没有区别的。
例如对于矩阵
A=[a b c d],1./A=[1/a 1/b 1/c 1/d],而1/A表示的是A的逆
6.randn函数——生成正态分布随机矩阵
7.hist函数——二维条形直方图
8.sum函数
sum()是matlab中的求和函数,sum(A,n)表示将矩阵A沿着第n个维度求和。所以:
sum(A,1)表示沿着A的第一个维度求和,如果A是二维矩阵,也就是按列求和,结果是一个行向量
示例如下:
A = magic(3) A = 8 1 6 3 5 7 4 9 2
s = sum(A,1) s = 15 15 15
9.plot函数和legend函数——画图
http://blog.sina.com.cn/s/blog_7dcfa8ea0100tvnf.html
10.hist函数——直方图绘制
N = hist(Y,X)
where X is a vector, returns the distribution of Y among bins with centers specified by X.(X是向量,以X中的元素为区间中心可获得一系列区间,执行命令可获得Y在这些区间中的分布情况。)
11.max函数——最大值
[C,I]=max(a)
C表示的是矩阵a每列的最大值,I表示的是每个最大值对应的下标:
下面举例说明:
a=[1,2,3;4,5,6] [C,I]=max(a)
结果显示的是:
C=[4,5,6] I=[2,2,2]返回的是最大值对应的行号。
12.对角线相加
sum(diag(X))
13.
.*和
./的用法
普通的乘
.除
/对于矩阵来说都是前面的列向量等于后面的行向量,而
.*和
./则是说两个矩阵的行列向量数目要对应相等,对应的数乘或除对应的数,得到的仍然是相同行列矩阵数的矩阵。
14.randi函数——生成均匀分布的伪随机整数
范围为imin–imax,如果没指定imin,则默认为1。
r = randi(imax,n):生成n*n的矩阵 r = randi(imax,m,n):生成m*n的矩阵 r = randi(imax,\[m,n\]):同上
15.reshape函数——重新排列矩阵
B = reshape(A,m,n)
返回一个m*n的矩阵B, B中元素是按列从A中得到的。
16.eye函数——生成单位矩阵
Y = eye(m,n) or eye([m n])对角线是1,其他是0。
17.awgn函数——加入高斯白噪声
AWGN:在某一信号中加入高斯白噪声
y = awgn(x,SNR)在信号x中加入高斯白噪声。信噪比SNR以dB为单位。x的强度假定为0dBW。如果x是复数,就加入复噪声。
y = awgn(x,SNR,SIGPOWER)如果
SIGPOWER是数值,则其代表以dBW为单位的信号强度;如果
SIGPOWER为
'measured',则函数将在加入噪声之前测定信号强度。
y = awgn(x,SNR,SIGPOWER,STATE)重置
RANDN的状态。
y = awgn(…,POWERTYPE)指定SNR和SIGPOWER的单位。
POWERTYPE可以是’dB’或’linear’。如果
POWERTYPE是
'dB',那么SNR以dB为单位,而
SIGPOWER以dBW为单位。如果
POWERTYPE是
'linear',那么SNR作为比值来度量,而
SIGPOWER以瓦特为单位。
注释
1). 分贝(decibel, dB):分贝(dB)是表示相对功率或幅度电平的标准单位,换句话说,就是我们用来表示两个能量之间的差别的一种表示单位,它不是一个绝对单位。例如,电子系统中将电压、电流、功率等物理量的强弱通称为电平,电平的单位通常就以分贝表示,即事先取一个电压或电流作为参考值(0dB),用待表示的量与参考值之比取对数,再乘以20作为电平的分贝数(功率的电平值改乘10)。
2). 分贝瓦(dBW, dB Watt):指以1W的输出功率为基准时,用分贝来测量的功率放大器的功率值。
3). dBm (dB-milliWatt):即与1milliWatt(毫瓦)作比较得出的数字。
0 dBm = 1 mW
10 dBm = 10 mW
20 dBm = 100 mW
18.tic和toc——记录程序运行时间
tic用来保存当前时间,而后使用toc来记录程序完成时间。
两者往往结合使用,用法如下:
tic operations toc
显示时间单位:秒。
19.find——寻找非零元素的位置
19.sub2ind——寻找特定位置的索引
在命令窗口输入:
>> A=[4 7 2 9 8;3 9 1 4 3;1 5 9 6 4;8 3 7 1 0] A = 4 7 2 9 8 3 9 1 4 3 1 5 9 6 4 8 3 7 1 0
则A中每个元素对应的索引如下(MATLAB中数据是按列的方式存储的):
1 5 9 13 17 2 6 10 14 18 3 7 11 15 19 4 8 12 16 20
ind=sub2ind(siz,I,J):siz表示要转换的矩阵的行列数,I是要转换矩阵的行标,J是要转换矩阵的列标。I,J的行列数必须相同。ind为输出参数,其行列数与I,J相同。ind即为索引。
在命令窗口中输入:
>> ind=sub2ind(size(A),[1,2;3,4],[1,1;2,2]) 则显示 ind = 1 2 7 8
从运算结果可以看出,在矩阵A中,下标(1,1)的索引值为1,下标(2,1)的索引值为2,下标(3,2)的索引值为7,下标(4,2)的索引值为8
20.mod函数——求模数
相关文章推荐
- MATLAB仿真中常用的一些函数(不完全个人总结:)—— 第二部分
- [matlab]mathworks上的cody challenge题解及一些常用函数的总结(8)
- [matlab]mathworks上的cody challenge题解及一些常用函数的总结(2)
- [matlab]mathworks上的cody challenge题解及一些常用函数的总结(3)
- [matlab]mathworks上的cody challenge题解及一些常用函数的总结(7)
- [matlab]mathworks上的cody challenge题解及一些常用函数的总结(1)
- [matlab]mathworks上的cody challenge题解及一些常用函数的总结(6)
- [matlab]mathworks上的cody challenge题解及一些常用函数的总结(5)
- [matlab]mathworks上的cody challenge题解及一些常用函数的总结(4)
- Matlab图像处理常用函数归类总结
- MATLAB常用函数总结
- 个人总结的一些DB2很常用命令,包括命令解释。(不断完善中...)
- 个人总结的ASP中常用函数
- lingo与matlab部分常用函数总结
- matlab一些常用的函数memo
- MATLAB一些函数总结
- matlab中一些常用的函数
- Linux c中一些常用函数总结(c语言中文网。。。)
- matlab一些常用的函数memo
- 一些个人常用的函数