matlab
for i=1:length(y) 什么意思 ?
length:数组长度,i=length(y):如果y为非空数组,返回行数和列数两者之间较大的那个值。然后还有佛如循环,这句代码的意思是就是获取y
的长度值,然后i
循环从1循环到length(y)。
conj(x)是求x的共轭数比如:x=2+3i;conj(x)=2-3i;
arm1=waveform(1:end-nFFT,1);
arm2=waveform(1+nFFT:end,1);
将waveform矩阵的第一列分成两部分arm1为waveform第一列的1 ~ end-nFFT 的数据,arm2为waveform第一列的1+nFFT~
end的数据
“.*”和“*”的区别:
在进行数之间的运算时“.*”和“*”是没有区别的,都是表示普通的乘法运算。例:m =
2,n =
3,m.*n =
6, m*n =
6。
在进行矩阵之间的运算时“.*”和“*”的意义就有所不同了。假设a,b表示两个矩阵,a*b表示矩阵a与矩阵b进行矩阵相乘,a.*b表示矩阵a中的元素与矩阵b中的元素按位置依次相乘,得到的结果将作为新矩阵中相同位置的元素。
conv
卷积和多项式乘法
w = conv(u,v) 返回向量 u 和 v 的卷积。如果
u 和 v 是多项式系数的向量,对其卷积与将这两个多项式相乘等效。
w = conv(u,v,shape) 返回如 shape
指定的卷积的分段。例如,conv(u,v,'same') 仅返回与 u 等大小的卷积的中心部分,而 conv(u,v,'valid')
仅返回计算的没有补零边缘的卷积部分。
ones的作用是产生全1矩阵
fix()向零靠近取整
MATLAB中reshape的使用方法
(1) B
= reshape(A,m,n) 将矩阵A的元素返回到一个m×n的矩阵B。如果A中没有m×n个元素则返回一个错误。
(2) B
= reshape(A,m,n,p,...) or B =reshape(A,[m n p ...]) 把A中元素进行重塑成m×n×p×…的矩阵,特别地,指定的维数m×n×p×…的积必须与prod(size(A))相同。
(3) B
= reshape(A,...,[],...) 指定某维数后,剩余的维数长度值用占位符[]来表示,使得维数的乘积等于prod(size(A))。prod(size(A))的值必须被指定维数的乘积平分。prod(size)的数目必须和prod(size(A))相同。
假定x为一个矩阵:
sum(x)以矩阵x的每一列为对象,对一列内的数字求和。
sum(x,2)以矩阵x的每一行为对象,对一行内的数字求和。
abs函数:数值的绝对值和复数的幅值
mod函数:除数取余
M = mean(A)
返回沿数组中不同维的元素的平均值。
如果A是一个向量,mean(A)返回A中元素的平均值。
如果A是一个矩阵,mean(A)将其中的各列视为向量,把矩阵中的每列看成一个向量,返回一个包含每一列所有元素的平均值的行向量。
如果A是一个多元数组,mean(A)将数组中第一个非单一维的值看成一个向量,返回每个向量的平均值。
P = angle(Z)为复数数组Z的每个元素返回相位角(以弧度为单位)。此角度介于
±π 之间。
size(X,1),返回矩阵X的行数;
size(X,2),返回矩阵X的列数;
N=size(X,2),就是把矩阵X的列数赋值给N
narginchk(minArgs,maxArgs)验证当前执行的函数调用中的输入参数数目。如果调用中指定的输入数目小于
minArgs 或大于 maxArgs,narginchk 将引发错误。如果输入数目在 minArgs 与
maxArgs 之间(包括二者),则 narginchk 不会执行任何操作。
向量中的那些唯一的元素
1、b = unique(A)返回的是和A中一样的值,但是没有重复元素。产生的结果向量按升序排序。A可以是一个字符串的单元阵列。
2、b =
unique(A,'rows')返回的是A中的唯一的行数。
3、[b,m,n] =
unique(...)也返回索引向量m和n,使得B = A(M)和A= B(N)。m的每一个元素是最大的下标,使得B =
A(M)。对于行的组合,B =
A(M,:)和A= B(N,:)。
1e-8代表1*10^(-8)
sort(A)若A是向量不管是列还是行向量,默认都是对A进行升序排列。sort(A)是默认的升序,而sort(A,'descend')是降序排序。
sort(A)若A是矩阵,默认对A的各列进行升序排列
sort(A,dim)
dim=1时等效sort(A)
dim=2时表示对A中的各行元素升序排列
strcmpi
比较字符串(不区分大小写)
tf = strcmpi(s1,s2)
tf = strcmpi(s1,s2) 将比较 s1 和 s2,并忽略字母大小写差异。如果二者相同,函数将返回 1
(true),否则返回 0 (false)。如果文本的大小和内容相同,则它们将视为相等,不考虑大小写。返回结果 tf 的数据类型为
logical。
输入参数可以是字符串数组、字符向量和字符向量元胞数组的任何组合。
S(i,:)中的“i”表示矩阵S的第i行,“:”就表示这一行的所有列,因此S(i,:)就表示S阵的第i行的所有元素。
相应的S(:,i)就表示S阵的第i列。
find()函数基本功能
find()函数的基本功能是返回向量或者矩阵中不为0的元素的位置索引。
X = [1 0 4 -3 0 0 0 8 6];
ind = find(X)
ind =
1
3
4
8
9
flipud(A)实现了矩阵A的上下翻转。
解释:其实flipud函数中的最后两个字母ud就是英文中up(上)和down(下)。
例:
A =
1 4
2 5
3 6
那么:
flipud(A) =
3 6
2 5
1 4
conj是求复数的共轭,Matlab有这个函数
若x=a+bi(a,b∈R),则 x'=a-bi(a,b∈R)。