




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
版本:matlab 2010aMatlab datafun函数的相关用法目录:1.conv212.conv23.convn34.corrcoef45. cov56. cumprod67. cumsu78. deconv79. detrend810. diff911. fft2912. fft1113.fftshift1214. filter21215. filter1316. hist1317. histc1418. ifft21719. issorted1820. max1921. mean2022. median2123. min2124. mode2225. prod2326. sort2427. sortrows2628. std2829. sum2930. var301.conv2功能简介进行二维卷积操作使用方法C=conv2(A,B)C=conv2(Hcol,Hrow,A)C=conv2(.,shape)说明:对于 C=conv2(A,B) ,conv2 的算矩阵 A 和 B 的卷积,若 Ma,Nasize(A), Mb,Nb=size(B), 则 size(C)=Ma+Mb-1,Na+Nb-1; C=conv2(Hcol,Hrow,A) 中,矩阵 A 分别与 Hcol 向量在列方向和 Hrow 向量在行方向上进行卷积;C=conv2(.,shape) 用来指定 conv2 返回二维卷积结果部分,参数 shape 可取值如下:full 为缺省值,返回二维卷积的全部结果;same 返回二维卷积结果中与 A 大小相同的中间部分;valid 返回在卷积过程中,未使用边缘补 0 部分进行计算的卷积结果部分,当 size(A)size(B) 时,size(C)=Ma-Mb+1,Na-Nb+1。应用举例A=magic(5)A=17 24 1 8 1523 5 7 14 164 6 13 20 2210 12 19 21 311 18 25 2 9B=1 2 1;0 2 0;3 1 3B=1 2 10 2 03 1 3C=conv2(A,B)C=17 58 66 34 32 38 1523 85 88 35 67 76 1655 149 117 163 159 135 6779 78 160 161 187 129 5123 82 153 199 205 108 7530 68 135 168 91 84 933 65 126 85 104 15 27相关函数filter22.conv函数功能计算多项式的卷积和乘积使用方法w = conv(u,v)计算向量u和v的卷积。在代数上,卷积是和多项式乘积相同的操作,该多项式的系数是向量u和v的元素。C = conv(.,shape)用指定的参数shape返回卷积的一部分。full 返回全部卷积(默认)。same 返回和A大小相同的卷积中心部分。valid 仅仅返回没有零填充边的那部分卷积,用此选项,length(c) 等于max(length(a)-max(0,length(b)-1),0).应用举例例1clear all;close all;clc;%程序开始P1=3 2 0 0 1 7 10;P2=0 0 0 4 -2 1 1;P=P1+P2poly2sym(P)P=P1-P2poly2sym(P)P=conv(P1,P2)poly2sym(P)P2=4 -2 1 1;P=deconv(P1,P2)poly2sym(P)例2 求解乘积多项式展开之后各次项的系数:(x2+x+1)*(x2+2x+1)输入命令, p1=1 1 1; p2=1 2 1; p3=conv(p1,p2) p3 =1 3 4 3 1p3即为展开后依次数从高到低各项系数,展开式为:x4+3x3+4x2+3x+1相关函数conv2,convn,deconv,filter3.convn函数功能进行n维卷积操作。使用方法C = convn(A,B) 计算数组A和B的N维卷积,卷积结果C的维数为size(A)+size(B)-1。C = convn(A,B,shape)用指定的参数shape返回n维卷积的一部分。full 返回全部n维卷积(默认)。same 返回和A大小相同的卷积中心部分。valid 仅仅返回没有零填充边的那部分卷积,用此选项,length(c) 等于max(size(a)-size(b)+1,0).相关函数conv, conv24.corrcoef函数功能计算相关系数使用方法R = corrcoef(X)返回相关系数矩阵R,对行是观测值、列是变量的矩阵X计算相关系数得到相关系数矩阵R。阵R=corrcoef(X)与协方差矩阵C=cov(X)有以下关系:公式R = corrcoef(x,y)如果x和y都是列向量,那么其功能和corrcoef(x y)是相同的。如果x和y不是列向量,corrcoef函数转化他们为列向量,例如,在这种情况下R=corrcoef(x,y)是等价于R=corrcoef(x(:) y(:)。 book.iLoveMR,P=corrcoef(.)返回R,P,含有p值的矩阵是为了测试不相关性,每个p值是相关性的概率值,真正的相关性,p值应该为0。如果p(i,j)很小的情况下,一般设置小于0.05,我们也认为相关系数R(i,j)也是有意义的。 R,P,RLO,RUP=corrcoef(.)返回矩阵RLO 和RUP,它们是和R有相同的大小,对每个系数包含一个在95%置信区间的上下界。.=corrcoef(.,param1,val1,param2,val2,.)指定其他参数和它们的值,有效的参数如下:alpha 是一个0到1之间的数,指定了100*(1 - alpha)%的置信水平,默认是0.05 相对于95%的置信区间。rows all (默认)作用于所有行,complete作用于没有非数(NaN)的行,pairwise 是计算R(i,j)用列i或者j中不是非数的值。应用举例生成随机数据其中第4列和其他列相关。x = randn(30,4); % Uncorrelated datax(:,4) = sum(x,2); % Introduce correlation.r,p = corrcoef(x) % Compute sample correlation and p-values.i,j = find(p1,其中N是观测值的个数。如果观测值属于正态分布,那么cov(x)可以达到协方差最好的无偏估计。如果N=1用N去规范化。cov(x,1)或 cov(x,y,1) Simulink与信号处理用N来规范化,cov(X,Y,0)和cov(X,Y)是功能相同的,cov(X,0)和cov(X)是功能相同的。备注cov在计算结果前对每一列删除平均值。协方差函数定义为: 其中E是数学期望并且有 应用举例考虑A = -1 1 2 ; -2 3 1 ; 4 0 3,对A每一列求方差:v = diag(cov(A)v =10.3333 2.3333 1.0000比较v和协方差C:C=cov(A)C =10.3333 -4.1667 3.00004.1667 2.3333 -1.50003.0000 -1.5000 1.0000对角元素C(i,i)代表A中每一列的方差,非对角元素代表列i和列j的协方差。相关函数corrcoef, mean, median, std,var6. cumprod功能简介累积乘积使用方法B = cumprod(A)返回数组中的一维维度的累积乘积。如果A是一个向量,cumprod(A) 返回一个向量包含A元素的累积乘积如果A是一个矩阵,cumprod(A) 返回一个矩阵为包含相同的大小每列A的累积乘积。如果A是一个多维数组,cumprod(A) 第一个 nonsingleton 维度的操作。B = cumprod(A,dim)returns the cumulative product of the elements along the dimension of A specified by scalar dim.For example, cumprod(A,1) increments the column index, thus working along the columns of A.Thus, cumprod(A,1) and cumprod(A) will return the same thing. To increment the row index, use cumprod(A,2).应用举例cumprod(1:5)ans =1 2 6 24 120 www.iLoveMA = 1 2 3; 4 5 6;cumprod(A,1)ans =1 2 34 10 18cumprod(A,2)ans =1 2 6 Ma4 20 120相关函数cumsum, prod, sum7. cumsu功能简介累积求和使用方法B = cumsum(A)返回沿着不同维的累积求和。如果A是一个向量,cumsum(A)返回一个向量包含A中元素的累积和。如果A是一个矩阵,cumsum(A)返回一个和A相同大小的矩阵,其包含A中每一列元素的累积和。如果A是一个多维数组,cumsum(A)对第一个非奇异维进行计算。B = cumsum(A,dim)沿着指定的维返回元素的累积和。例如,cumsum(A,1)沿着列方向计算;cumsum(A)沿着行方向计算。应用举例注明:该例子来自Mathworks公司英文帮助文件。例一:计算向量的累积和cumsum(1:5)ans =1 3 6 10 15例二:计算矩阵的累积和已知:A = 1 2 3; 4 5 6;cumsum(A,1) % 沿列方向计算ans =1 2 35 7 9cumsum(A,2) % 沿行方向计算ans =1 3 64 9 15相关函数cumprod, prod, sum8. deconv函数功能计算多项式的反卷积和除法使用方法q,r = deconv(v,u) 用多项式除法计算向量v和向量u的反卷积,把商在向量q中并返回,余数在向量r中有v=conv(u,q)+r。如果向量u和v是多项式系数,则对它们进行卷积等价于两个多项式相乘,并且反卷积是等价于项式除法。v除以u的结果就是商q和余数r。应用举例若:u = 1 2 3 4v = 10 20 30卷积为:c = conv(u,v)c =10 40 100 160 170 120除以u的反卷积:q,r = deconv(c,u)q =10 20 30r =0 0 0 0 0 0得到的商等于v和余数r。相关函数conv,residue9. detrend目录函数功能对数据去除趋势文论坛使用说明y = detrend(x)对x进行线性拟合,然后去除线性趋势y = detrend(x,constant)去掉常数趋势y = detrend(x,linear,bp)对数据进行分段线性趋势去除,bp是分段点应用举例load predict_ret_data.mat % load datasdata(any(isnan(sdata),2),:) = % eliminate nan typeplot( sdata,+)% draw the originaldatadetrend_sdata=detrend(sdata);% detrend_sdata denotes the detrended dataplot(detrend_sdata,-)原始数据和去趋势之后的数据相关函数polyfit,regress,predict高级使用相关视频10. diff功能简介对函数求导。文论坛使用方法diff(函数) ,求函数的一阶导数;diff(函数, n) ,求函数的n阶导数(n是具体整数);diff(函数,变量名),求对变量的偏导数;diff(函数, 变量名,n) ,求对变量的n阶偏导数;文论坛应用举例syms xdiff(xsin(x)ans=xsin(s)*(cos(s)*log(x)+sin(x)/x)相关视频11. fft2目录功能简介二维离散傅立叶变换。使用方法1.Y =fft2(X)利用快速傅立叶变换(FFT)算法进行计算,返回X的二维离散傅立叶变换(DFT)。Y和X的存储空间相同。2.Y =fft2(X,m,n)去零或加零,将数组X扩展为M*N维数组,然后做离散傅立叶变换,结果也是M*N维的数组。【算法】fft2(x)可以按如下方法简单计算:fft(fft(X).).。首先计算每列X的一维DFT,然后计算上述结果的每行的DFT。计算时间取决于变换的长度。用户可以使用fftw来提高fft2的运算速度,fftw可以控制MATLAB软件如何优化用于计算特定大小和维数的FFT的算法。【支持的数据类型】fft2函数支持dougle和single数据类型。如果使用Y=fft2(X,.)格式来调用fft2函数,则其输出Y的数据类型与输入X的数据类型相同。应用举例Load imdemos saturn2imshow(saturn2)1B=fftshift(fft2(saturn2);imshow(log(abs(B),),colormap(jet(64),colorbar2相关函数dct2,fftshift, idct2, ifft2高级使用相关视频12. fftfft离散傅里叶变换句法Y = fft(X)Y = fft(X,n)Y = fft(X,dim)Y = fft(X,n,dim)n为离散傅里叶变换的点数,如果取n为2的幂函数,则可进行快速傅里叶变换。当x的长度小于n时,x会被补零填充到与n同样的长度;当x的长度大于n时,x会被截断。如果x是个矩阵,列的长度将会以同样的方式调整,fft会对每列进行傅里叶变换,并返回一个相同维数的矩阵。dim可适应于任意维度的fft运算。运用举例常用例子举例常用的傅立叶变换是找到在嘈杂的时域信号下掩埋了信号的频率成分。考虑数据采样在1000赫兹。现有一信号由以下部分组成,50赫兹振幅为0.7的正弦和120赫兹振幅为1的正弦并且受到一些零均值的随机噪声的污染:Fs = 1000; % 采样频率T = 1/Fs; % 采样时间L = 1000; % 信号长度t = (0:L-1)*T; % 时间矢量% 50赫兹正弦波与120赫兹正弦波的和x = 0.7*sin(2*pi*50*t) + sin(2*pi*120*t);y = x + 2*randn(size(t); % 正弦波加噪声plot(Fs*t(1:50),y(1:50) %画此信号的时域图title(Signal Corrupted with Zero-Mean Random Noise)xlabel(time (milliseconds)这在寻找原始信号的频率成分上是很难确定的。转换到频域,噪音信号Y的傅立叶变换采取快速傅立叶变换(FFT):NFFT = 2nextpow2(L); %y长度L附近的2的幂级数Y = fft(y,NFFT)/L;f = Fs/2*linspace(0,1,NFFT/2+1); % 单边拉普拉斯变换plot(f,2*abs(Y(1:NFFT/2+1) %画单边频谱图title(Single-Sided Amplitude Spectrum of y(t)xlabel(Frequency (Hz)ylabel(|Y(f)|)这样就可以很清楚的看到,信号在50Hz和120Hz处有较大的频谱分布,其余频谱分布是由于噪声造成的。相关函数与fft相关的函数:fft2, fftn, fftw, fftshift, ifftdftmtx, filter, freqz 在信号处理工具箱13.fftshift功能简介把快速傅里叶变换的DC组件移到光谱中心。使用方法B=fftshift(A)应用举例B=fftn(A);C=fftshift(B);相关函数fft2,fftn,ifftshift14. filter2功能简介计算二维线型数字滤波,它与函数 fspecial 连用使用方法Y=filter2(B,X)Y=filter2(B,X,shape)说明:对于 Y=filter2(B,X) ,filter2 使用矩阵 B 中的二维 FIR 滤波器对数据 X 进行滤波,结果 Y 是通过二维互相关计算出来的,其大小与 X 一样;对于 Y=filter2(B,X,shape) ,filter2 返回的 Y 是通过二维互相关计算出来的,其大小由参数 shape 确定,其取值如下:full 返回二维相关的全部结果,size(Y)size(X);same 返回二维互相关结果的中间部分,Y 与 X 大小相同;valid 返回在二维互相关过程中,未使用边缘补 0 部分进行计算的结果部分,有 size(Y) 应用举例A=magic(6)A=35 1 6 26 19 243 32 7 21 23 2531 9 2 22 27 208 28 33 17 10 1530 5 34 12 14 164 36 29 13 18 11h=fspecial(sobel)h=1 2 10 0 01 2 1B=filter2(h,A,valid)B=8 4 4 823 44 5 4023 50 1 408 4 48相关函数conv2,roifilt215. filter功能介绍FILTER是一维数字滤波器使用方法Y = FILTER(B,A,X) ,输入X为滤波前序列,Y为滤波结果序列,B/A 提供滤波器系数,B为分子, A为分母 整个滤波过程是通过下面差分方程实现的:a(1)*y(n) = b(1)*x(n) + b(2)*x(n-1) + . + b(nb+1)*x(n-nb)- a(2)*y(n-1) - . - a(na+1)*y(n-na)Y,Zf = FILTER(B,A,X,Zi),输入X为滤波前序列,Y为滤波结果序列,B/A 提供滤波器系数,B为分子, A为分母,并输入Zi指定X的初始状态,Zf为最终状态矢量FILTER(B,A,X,DIM)或 FILTER(B,A,X,Zi,DIM)指定X的维数DIM进行操作举例k=-100:100; uk=zeros(1,100),ones(1,101); a=1 -5 6; b=2 -1; x=uk; y=filter(b,a,x)16. hist功能简介绘制直方图版本支持MATLAB7.9使用方法直方图表现出数据的分布情形。n = hist(Y)输入:Y输入数据矩阵输出:n每组的数据个数注:具体做法为将Y平均分成10组,n用于统计每一组的数据个数。如果Y为矩阵,则对Y的每一列分别分组操作,得到的n为10*p的矩阵。n = hist(Y,x)输入:Y输入数据矩阵、x分组向量输出:n每组的数据个数n = hist(Y,nbins)输入:Y输入数据矩阵、nbins分组个数输出:n每组的数据个数n,xout = hist(.) 信号处理输出:n每组的数据个数、xout分组内容注:可通过bar(xout,n) 来绘制直方图应用举例clc; clear all; close all;x = -4:0.1:4;y = randn(10000, 1);hist(y, x);h = findobj(gca,Type,patch);set(h, FaceColor, r, EdgeColor, w);图1.1 hist实例相关函数bar, ColorSpec, histc, mode,patch, rose, stairs相关视频17. histc功能简介查询柱状图数目。使用方法n=histc(x,edges)计算向量x中落入到边缘向量(它必须包含单调非增值)的元素之间的值的个数。n是一个长度为length(edges)的向量,包含这些个数。如果edges(k)=x(i) n_elements=histc(y,x); c_elements=cumsum(n_elements)c_elements =411212950731071491932623264255196537909451121131815421788208223762695305434253803417345764949535557556165657969407300764479238189842686728872905291989318943295339623969497559802983398659898991999319945995799619961 figure(2),bar(x,c_elements)图2相关函数hist,mode,Specialized Plotting相关视频18. ifft2功能简介二维离散傅立叶逆变换版本支持MATLAB7.9使用方法Y = ifft2(X)输入:X输入二维矩阵输出:YX的逆傅里叶变换矩阵注:使用傅里叶转换算法(FFT),Y和X的维数相同。iff2首先判断X是否为共轭对称,如果是,则计算更加快速且输出为实数。Y = ifft2(X,m,n)输入:X输入二维矩阵、m&n傅里叶变换维数输出:YX的逆傅里叶变换矩阵y = ifft2(., symmetric)输入:symmetric将X视为共轭对称,一般对由于舍入误差导致的非共轭对称有效y = ifft2(., nonsymmetric)号处理输入:nonsymmetric将X视为非共轭对称应用举例clc; clear all; close all;I = imread(cameraman.tif);gfilt = fspecial(gaussian, 256 256, 4); % 高斯模板gfiltfft = fft2(gfilt);imfft = fft2(I); % fft变换imfft1 = fftshift(abs(imfft); % 幅值imfft2 = fftshift(log(abs(imfft)+eps); % log出来newimfft = imfft.*gfiltfft; % 滤波newim = fftshift(real(ifft2(newimfft); % 反求figure;subplot(1, 2, 1); imshow(I, ); title(原图像);subplot(1, 2, 2); imshow(newim, ); title(滤波图像);图1.1 ifft2的滤波相关函数fft2, fftw, fftshift, ifft, ifftn, ifftshift19. issorted函数功能判断集合中的元素是否按序排列使用方法TF = issorted(A)如果集合A中的元素已经排序,则返回逻辑值1(真),否则返回逻辑值0(假)。输入A可以为一个向量或为一个N*1或1*N的元胞字符数组,如果A和sort(A)的输出相等,则认为A已经排序。TF = issorted(A, rows)如果二维矩阵A中每一行的元素已经排序,则返回逻辑值1(真),否则返回逻辑值0(假)。输入A可以为一个向量或为一个N*1或1*N的元胞字符数组。如果A和sortrows(A)的输出相等,则认为矩阵A已经排序。备注对于字符数组,issorted用ASCII而不是按字母顺序排列。不能用issorted函数排列维数大于2的数组。应用举例例1-用issorted排列向量A = 5 12 33 39 78 90 95 107 128 131;issorted(A)ans =例2-用issorted排列矩阵A = magic(5)A =17 24 1 8 1523 5 7 14 164 6 13 20 2210 12 19 21 311 18 25 2 9issorted(A, rows)ans =0B = sortrows(A)B =4 6 13 20 2210 12 19 21 311 18 25 2 917 24 1 8 1523 5 7 14 16issorted(B)ans =1例2-用issorted排列元胞数组x = one; two; three; four; five;issorted(x)ans =0y = sort(x)y =fivefouronethreetwoissorted(y)ans =1相关函数sort, sortrows, ismember, unique, intersect, union, setdiff, setxor, is* 20. max函数功能找出数组中的最大元素使用方法C = max(A)返回数组A不同维数的最大值。如果A是一个向量时,max(A)返回向量的最大值;如果A为一个矩阵时,max(A)把矩阵中的每列看成一个向量,返回一个包含每一列所有元素的最大值的行向量。如果A是一个多维矩阵时,max(A)把矩阵中的第一个非单一维部分看成一个向量,返回每个向量的最大值。C = max(A,B)返回A和B中对应位置的最大元素,C的大小与A和B一致,A和B的维数必须一致或者都是标量。C = max(A,dim)返回A中沿着由标量dim指定维数的最大元素,比如,max(A,1)返回A中第一维(行)的最大值。C,I = max(.)找出A中最大元素及其索引,把最大值返回给C,最大值索引返回给I。 如果有几个相同的最大值,那么返回第一个被发现的索引。备注对于复数数组A,max返回具有最大复数模的复数,按max(abs(A)计算。如果需要再计算最大相位角用max(angle(x)。max函数忽略非数(NaNs).应用举例X=2 8 4;7 3 9;max(X,1) is 7 8 9 (返回的是每一列的最大值,也就是一个行向量)max(X,2) is 8;9 (返回的是每一行的最大值,也就是一个列向量)X=1 5;2 6;Y=3 4;3 4;Z=max(X,Y)(返回两个矩阵当中对应的最大值的矩阵,且两个矩阵X,Y是相同维度)Z =3 53 6相关函数isnan, mean, median,min, sort21. mean函数功能求数组的平均数或者均值使用方法M = mean(A)返回沿数组中不同维的元素的平均值。如果A是一个向量,mean(A)返回A中元素的平均值。如果A是一个矩阵,mean(A)将中的各列视为向量,把矩阵中的每列看成一个向量,返回一个包含每一列所有元素的平均值的行向量。如果A是一个多元数组,mean(A)将数组中第一个非单一维的值看成一个向量,返回每个向量的平均值。M = mean(A,dim)返回A中沿着标量dim指定的维数上的元素的平均值。对于矩阵,mean(A,2)就是包含每一行的平均值的列向量。应用举例A = 1 2 3; 3 3 6; 4 6 8; 4 7 7;mean(A)ans =3.0000 4.5000 6.0000mean(A,2)ans =2.00004.00006.00006.0000相关函数corrcoef, cov, max, median, min, mode, std, var22. median函数功能求数组的中位数使用方法M = median(A)返回数组A不同维数元素的中位数,数组A应该是single 或者double数据类型。如果A是一个向量,median(A)返回A中元素的中位数。如果A是一个矩阵,median(A)将A的各列视为向量,返回一个包含各列向量元素中位数的行向量。如果A是一个多元数组,median(A)将数组中第一个非单一维的值看成一个向量,返回每个向量的中位数。M = median(A,dim)返回A中沿着标量dim指定的维数上计算元素的中位数。应用举例A = 1 2 4 4; 3 4 6 6; 5 6 8 8; 5 6 8 8;median(A)ans =4 5 7 7median(A,2)ans =3577相关函数 corrcoef, cov, max,mean, min,mode, std, var23. min函数功能找出数组中的最小元素使用方法C = min(A)返回数组A不同维数的最小值。如果A是一个向量时,min(A)返回向量的最小值;如果A为一个矩阵时,min(A)把矩阵中的每列看成一个向量,返回一个包含每一列所有元素的最小值的行向量。如果A是一个多维数组时,min(A)把矩阵中的第一个非单一维部分看成一个向量,返回每个向量的最小值。C = min(A,B)返回A和B中对应位置的最小元素,C的大小与A和B一致,A和B的维数必须一致或者都是标量。C = min(A,dim)返回A中沿着由标量dim指定维数的最小元素,比如,min(A,1)返回A中第一维(行)的最小值。C,I =min(.)找出A中最小元素及其索引,把最小值返回给C,最小值索引返回给I。如果有几个相同的最小值,那么返回第一个被发现的索引。备注对于复数数组A,min返回具有最小复数模的复数,按min(abs(A)计算。如果需要再计算最小相位角用min(angle(x)。min函数忽略非数(NaNs).应用举例X=2 8 4;7 3 9;min(X,1) is 2 3 4 (返回的是每一列的最小值,也就是一个行向量)min(X,2) is 2;3 (返回的是每一行的最小值,也就是一个列向量)X=1 5;2 6;Y=3 4;3 4;Z=min(X,Y) (返回两个矩阵当中对应的最小值的矩阵,且两个矩阵X,Y是相同维度)Z =1 42 4相关函数max,mean, median, sort24. mode函数功能求数组中出现频率最多的值使用方法M = mode(X)计算向量X的重复频率M(例如在X中的最大频率发生值)。如果X是一个矩阵,则M是包含每列的频率最大值的行向量。如果X是一个N维数组,则M沿数组中第一个非一维的频率最大的值。当有多个值有相等的频率时,mode返回这个最小的值。对于复数输入,返回的是排序中第一个值。M = mode(X, dim)沿着指定的维数dim计算X出现频率最多的值。M,F = mode(X, .)同时也返回数组F,其元素代表X中对应元素出现的次数。输出数组M和F有相等的大小。M,F,C = mode(X, .)同时又返回元胞数组C,其元素是M中元素有相同频率的值升序排列的向量。三个输出数组M、F和C有相同大小的。应用举例例1 发现3*4矩阵中出现频率最多的值:X = 3 3 1 4; 0 0 1 1; 0 1 2 4 X =3 3 1 40 0 1 10 1 2 4mode(X)ans =0 0 1 4沿着第二维寻找出现频率最多的值:mode(X, 2)ans =300例2 randn(state, 0); % Reset the random number generatory = randn(1000,1);edges = -6:.25:6;n,bin = histc(y,edges);m = mode(bin)m =22edges(m, m+1)ans =-0.7500 -0.5000hist(y,edges+.125)直方图相关函数mean,median,hist,histc25. prod功能简介计算数组元素的乘积版本支持Matlab6.5(含)以后,全部支持。使用方法B = prod(A)将A矩阵不同维的元素的乘积返回到矩阵B。 Matlab中文论坛如果A是向量,prod(A)返回A向量的乘积。如果A是矩阵,prod(A)将A看作列向量,返回每一列元素的乘积并组成一个行向量B。如果A是多维数组,prod(A)沿着第一个非单例作为向量,返回一个行向量数组。B = prod(A,dim)沿着指定的dim标量的维计算A矩阵的乘积。注:dim=2表示沿行计算。应用举例已知矩阵A:M = magic(3)M =8 1 63 5 74 9 2例一:计算矩阵A的每一列元素的乘积prod(M) =96 45 84例二:计算矩阵A每一行元素的乘积, dim=2表示按行计算prod(M,2) =4810572相关函数cumprod,diff, sum高级使用相关视频26. sort函数功能把数组元素按升序或降序排列使用方法B = sort(A)把数组A沿不同维度上的元素按照升序排列。如果A是向量,sort(A) 对A中元素按照升序排列。如果A是矩阵,sort(A) 对A按每一列元素按照升序排列。如果A是多维数组,sort(A) 对沿着第一非单元集的元素像向量一样处理并返回一个升序排列的向量数组。如果A是字符串元胞数组,sort(A) 按照ASCII字典对字符串进行升序排列,对元胞数组不能使用dim或mode参数。整型,浮点型,逻辑型和字符型数组是允许的,浮点型数组可以是复数数组。对于A中相同的元素,则按照其在A中的先后位置排列在一起;若A为复数,则按元素幅值按升序排列,若幅值相同的复数,则按照在区间-pi,pi的幅角升序排列。如A中有非数NAN元素,则将他们排列到最后。B = sort(A,dim)按数组A中指定维度dim上的元素按照升序排列。B = sort(.,mode)按照mode的值为指定的方向进行排列,mode可取:ascend 升序排列(默认)。descend 降序排列。B,IX = sort(A,.)返回索引数组IX,其大小为size(IX) = size(A)。若A是一个向量,B = A(IX)。若A是一个m*n的矩阵,则IX的每一列是与A中列向量的元素相对应的置换向量。for j = 1:nB(:,j) = A(IX(:,j),j);End若A中有重复出现的相等的值,则返回原来相对位置的索引。排列复数项如果数组A有复数项r和s,sort排列他们按照以下规则:若满足以下任何一个条件,r将sort(A)中排在s前面:abs(r) abs(s)abs(r) = abs(s) 并angle(r) 其中-pi例子:v = 1 -1 i -i;angle(v)ans =0 3.1416 1.5708 -1.5708sort(v)ans =0- 1.0000i 1.00000 + 1.0000i -1.0000应用举例举例(一)在每一维排列矩阵A,然后第三次排列它,返回排列结果的索引矩阵:A = 3 7 50 4 2 ;sort(A,1)ans =0 4 23 7 5sort(A,2)ans =3 5 70 2 4B,IX = sort(A,2)B =3 5 70 2 4IX =1 3 21 3 2举例(二)按照降序排列每一列. A = 3 7 56 8 30 4 2;sort(A,1,descend)ans =6 8 53 7 30 4 2等价于sort(A,descend)ans =6 8 53 7 30 4 2号处理相关函数issorted, max, mean, median, min, sortrows, unique27. sortrows函数功能数组的行按照升序排列使用方法B = sortrows(A)把A中的每一行按照升序排列,A必须是一个矩阵或列向量。对于字符串,按照ASCII字典对字符串进行排列.若A为复数,则按元素幅值进行排列,若幅值相同的复数,则按照在区间-pi,pi的幅角进行排列。B = sortrows(A,column)用指定的向量column对矩阵A进行按列排序,如果column的元素是正的,MATLAB对矩阵A相应的列进行升序排列,如果column的元素是负的,MATLAB对矩阵A相
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 实训室教育培训
- 福建省福州市鼓楼区延安中学2026届英语九年级第一学期期末考试试题含解析
- 印刷企业岗前培训
- 社区保密文件培训
- 湖南长沙市长郡教育集团2026届英语九上期末质量跟踪监视试题含解析
- 2026届四川省重点中学化学九上期末联考试题含解析
- 江苏省常熟市第一中学2026届九年级化学第一学期期中达标检测试题含解析
- 安徽省安庆市太湖县2026届英语九年级第一学期期末达标测试试题含解析
- 2026届吉林省重点中学九年级化学第一学期期中检测试题含解析
- 金融分析师考试题库及答案解析
- 智慧审计数字化场景DeepSeek+AI智算一体机设计方案
- 机械清扫队管理制度
- 第16课《田忌赛马》课件
- 陕西省专业技术人员继续教育2025公需课《党的二十届三中全会精神解读与高质量发展》20学时题库及答案
- 普洱茶考试题及答案
- 节目演出安全协议书
- 酒店物件赔偿协议书
- 职业技能考评员培训课件
- 基于视觉的增强现实虚实注册技术:原理、挑战与突破
- 护士职业暴露与防护 课件
- 2025年第十届“学宪法、讲宪法”竞赛题库(含答案)
评论
0/150
提交评论