Matlab笔记

合集下载

MATLAB学习笔记[优秀范文五篇]

MATLAB学习笔记[优秀范文五篇]

MATLAB学习笔记[优秀范文五篇]第一篇:MATLAB学习笔记读取excel表格中的数据%%excel表格需要存储在特定的目录下才能访问得到x=xlsread('training_data.xls',['A1:G2']);%提取excel表格中第一行A列到第2行G列之间矩阵内的数据y=xlsread('training_data.xls',['A2:G2']);%提取excel表格中第二行A列到第2行G列之间矩阵内的数据inputs=x';%将X转置后赋值给INPPUTStargets=y';%将Y转置后赋值给TARGETS2各种取整函数如ceil()、round()、floor()等之间的区别randperm(6)表示随机生产从1到6的整数串如[2 4 5 6 1 3 ]若A为矩阵A=[1 2 3;1 2 3;1 2 3],则sum(A,1)=[3 6 9]表示将每列相加之和作为列元素;sum(A,2)=[6;6;6]表示将每行相加之和作为行元素5自定义函数Function F=f(x)F=x^2+2*x+1;调用时:f(1);f(2);t= f(1);t= f(2);…..6将一段程序转化成注释:选中程序后按ctrl+t和ctrl+r相互转化。

7向量b=cumsum(向量a)若向量a=[1 2 3 4],则向量b=[1 3 6 10].第二篇:matlab学习心得体会数值运算1.cd显示当前的工作目录,dir列出当前目录下的子文件或子目录,home将光标移动到左上角,type列出所有的文件内容。

2.特殊矩阵的生成:3.linspace生成矩阵:(1)linspace(a,b):生成100个数据的向量;(2)linspace(a,b,n):生成n个元素的向量,线性分布;4.logspace生成矩阵:(1)logspace(a,b)生成50个对数元素的向量,x(1)=10^a,x(50)=10^b;(2)logspace(a,b,n):同linspace的用法; 5.指数与对数函数:6.复数函数:7.基本数组函数:8.矩阵变换函数:9.数据的输出格式由format命令来控制,但是只是影响其显示的结果,对计算结果或者是存储没有影响:10.常用的变量和常量:eps:浮点运算的精确程度,是MATLAB中的计算误差;realmax:计算机能够显示的最大的浮点数;realmin:同其相对应;11.一些特殊的标识符:12.bar条形图:13.几种特殊的图形颜色矩阵:14.照相制图的函数:15.axis ij:设置坐标为矩阵格式,坐标原点在左上角;axis为默认值; 16.坐标设置命令:17.光源设置:18.字符处理函数:19.矩阵分解:20.矩阵函数:21.第三篇:学习matlab总结(定稿)绘图函数 bar 竖直条图 barh 水平条图 hist 直方图histc 直方图计数 hold 保持当前图形 loglog x,y对数坐标图 pie 饼状图 plot 绘二维图 polar 极坐标图semilogy y轴对数坐标图 semilogx x轴对数坐标 subplot 绘制子图 bar3 数值3D竖条图 bar3h 水平3D条形图 comet3 3D慧星图cylinder 圆柱体fill3 填充的3D多边形 plot3 3维空间绘图quiver3 3D震动(速度)图 slice 体积薄片图 sphere 球stem3 绘制离散表面数据 waterfall 绘制瀑布 trisurf 三角表面clabel 增加轮廓标签到等高线图中datetick 数据格式标记 grid 加网格线gtext 用鼠标将文本放在2D图中 legend 图注plotyy 左右边都绘Y轴 title 标题xlabel X轴标签 ylabel Y轴标签 zlabel Z轴标签 contour 等高线图 contourc 等高线计算 contourf 填充的等高线图 hidden 网格线消影meshc 连接网格/等高线mesh 具有参考轴的3D网格 peaks 具有两个变量的采样函数 surf 3D阴影表面图surface 建立表面低层对象 surfc 海浪和等高线的结合 surfl 具有光照的3D阴影表面 trimesh 三角网格图多项式与插值conv 卷积和多项式乘法 roots 多项式的根poly 具有设定根的多项式 polyder 多项式微分 polyeig 多项式的特征根 polyfit 多项式拟合polyint 解析多项式积分 polyval 多项式求值polyvalm 矩阵变量多项式求值 residue 部分分式展开 interp1 一维插值 interp2 二维插值 interp3 三维插值interpft 使用FFT的一维插值 interpn 多维插值meshgrid 为3维点生成x和y的网格 ndgrid 生成多维函数和插值的数组 pchip 分段3次Hermite插值多项式 ppval 分段多项式的值spline 3次样条数据插值3、基本矩阵和矩阵操作blkding 从输入参量建立块对角矩阵 eye 单位矩阵linespace 产生线性间隔的向量logspace 产生对数间隔的向量numel 元素个数ones 产生全为1的数组 rand 均匀颁随机数和数组 randn 正态分布随机数和数组zeros 建立一个全0矩阵 colon)等间隔向量cat 连接数组diag 对角矩阵和矩阵对角线 fliplr 从左自右翻转矩阵 flipud 从上到下翻转矩阵 repmat 复制一个数组 reshape 改造矩阵 roy90 矩阵翻转90度 tril 矩阵的下三角triu 矩阵的上三角 dot 向量点集 cross 向量叉集ismember 检测一个集合的元素 intersect 向量的交集 setxor 向量异或集 setdiff 向是的差集 union 向量的并集数值分析和傅立叶变换 cumprod 累积 cumsum 累加cumtrapz 累计梯形法计算数值微分 factor 质因子inpolygon 删除多边形区域内的点 max 最大值mean 数组的均值 mediam 中值 min 最小值perms 所有可能的转换 polyarea 多边形区域 primes 生成质数列表 prod 数组元素的乘积 rectint 矩形交集区域 sort 按升序排列矩阵元素 sortrows 按升序排列行 std 标准偏差 sum 求和trapz 梯形数值积分 var 方差del2 离散拉普拉斯 diff 差值和微分估计 gradient 数值梯度 cov 协方差矩阵 corrcoef 相关系数 conv2 二维卷积conv 卷积和多项式乘法 filter IIR或FIR滤波器deconv 反卷积和多项式除法 filter2 二维数字滤波器cplxpair 将复数值分类为共轭对 fft 一维的快速傅立叶变换 fft2 二维快速傅立叶变换fftshift 将FFT的DC分量移到频谱中心ifft 一维快速反傅立叶变换 ifft2 二维傅立叶反变换 ifftn 多维快速傅立叶变换 ifftshift 反FFT 偏移nextpow2 最靠近的2的幂次 unwrap 校正相位角2、基本数学函数abs 绝对值和复数模长acos,acodh 反余弦,反双曲余弦acot,acoth 反余切,反双曲余切 acsc,acsch 反余割,反双曲余割 angle 相角asec,asech 反正割,反双曲正割 secant 正切asin,asinh 反正弦,反双曲正弦atan,atanh 反正切,双曲正切tangent 正切atan2 四象限反正切 ceil 向着无穷大舍入 complex 建立一个复数conj 复数配对cos,cosh 余弦,双曲余弦 csc,csch 余切,双曲余切 cot,coth 余切,双曲余切 exp 指数fix 朝0方向取整 floor 朝负无穷取整 gcd 最大公因数 imag 复数值的虚部 lcm 最小公倍数 log 自然对数log2 以2为底的对数 log10 常用对数 mod 有符号的求余nchoosek 二项式系数和全部组合数real 复数的实部 rem 相除后求余round 取整为最近的整数 sec,sech 正割,双曲正割 sign 符号数sin,sinh 正弦,双曲正弦 sqrt 平方根tan,tanh 正切,双曲正切1、特殊变量与常数 ans 计算结果的变量名computer 确定运行的计算机 eps 浮点相对精度 Inf 无穷大 I 虚数单位inputname 输入参数名 NaN 非数nargin 输入参数个数 nargout 输出参数的数目 pi 圆周率nargoutchk 有效的输出参数数目 realmax 最大正浮点数 realmin 最小正浮点数varargin 实际输入的参量varargout 实际返回的参量操作符与特殊字符 + 加实线 c 亮青色 : 点线 m 锰紫色-.点虚线--虚线七、注解xlabel('Input Value');% x轴注解 ylabel('Function Value');% y轴注解title('Two Trigonometric Functions');% 图形标题legend('y = sin(x)','y = cos(x)');% 图形注解 grid on;% 显示格线八、二维绘图函数 bar 长条图errorbar 图形加上误差范围fplot 较精确的函数图形 polar 极座标图 hist 累计图rose 极座标累计图 stairs 阶梯图 stem 针状图 fill 实心图 feather 羽毛图 compass 罗盘图 quiver 向量场图第四篇:MATLAB学习感想学习感想环科141 邢碧枞在科技飞速发展的今天,各行各业都离不开计算机的使用,而作为以科研为主的环境科学,更是离不开对计算机及软件的学习。

Matlab笔记(重点)

Matlab笔记(重点)

MATLAB笔记作者:晏江1、用于取整的函数有fix、floor、ceil、round,要注意它们的区别,Ceil向正无穷大方向取整,floor向负无穷大方向取整, round向最接近的整数取整fix负数向下取整、整数向上取整rem与mod函数的区别。

rem(x,y)和mod(x,y)要求x,y必须为相同大小的实矩阵或为标量。

2、数据输出时用户可以用format命令设置或改变数据输出格式。

format命令的格式为: format 格式符其中格式符决定数据的输出格式。

3、linspace(a,b,n)其中a和b是生成向量的第一个和最后一个元素,n是元素总数。

4、在MATLAB中,矩阵元素按列存储,先第一列,再第二列,依次类推。

例如A=[1,2,3;4,5,6];A(3)ans =2显然,序号(Index)与下标(Subscript )是一一对应的,以m×n矩阵A为例,矩阵元素A(i,j)的序号为(j-1)*m+i。

其相互转换关系也可利用sub2ind和ind2sub函数求得。

(1) 建立矩阵A。

A=[4,-65,-54,0,6;56,0,67,-45,0](2) 找出大于4的元素的位置。

find(A>4) 结果是索引[i,j]=ind2sub(size(A),find(A>4)) 将索引转化为下标5、常用的产生通用特殊矩阵的函数有:zeros:产生全0矩阵(零矩阵)。

(1) 建立一个3×3零矩阵。

zeros(3),(2) 建立一个3×2零矩阵。

zeros(3,2)ones:产生全1矩阵(幺矩阵)。

eye:产生单位矩阵。

rand:产生0~1间均匀分布的随机矩阵。

randn:产生均值为0,方差为1的标准正态分布随机矩阵。

例:(1)在区间[20,50]内均匀分布的5阶随机矩阵。

x=20+(50-20)*rand(5) (2)均值为0.6、方差为0.1的5阶正态分布随机矩阵。

matlab学习笔记(入门)

matlab学习笔记(入门)

matlab学习笔记(入门)数据类:double,unit8,unit16,unit32,int8,int16,int32,single,char,logical!Matlab中所有数值计算都可以用double类来进行!,unit8实际中最常用的图像图像类型:亮度图像,二值图像,索引图像,RGB图像亮度图像:是数据矩阵,若是unit8或uint16则是【0,255】或者是【0,65535】,若是double 类,则像素取值是浮点数二值图像只有:0和1的逻辑数组!、简单操作:读图并显示详细情况>> f=imread('E:\image\book.pgm');whosName Size Bytes Class Attributesf 289x338 97682 uint8将图像垂直翻转:>> f=imread('E:\image\book.pgm');fp=f(end:-1:1, : );imshow(fp)将图像上下左右翻转:f=imread('E:\image\book.pgm');fc=f(end:-1:1,end:-1:1);imshow(fc)将图像二次采样并显示详情:>> fs=f(1:2:end,1:2:end);imshow(fs)>> whos fsName Size Bytes Class Attributesfs 145x169 24505 uint8将图像取出一部分:>> fg=f(200:250,200:300);imshow(fg)显示图像中的一条水平扫描线:>> plot(f(200, : )将两幅图像进行相乘:f=imread('c:\image\liangdian.jpg');g=imread('c:\image\shui guo.jpg');g=g(300:715,500:1149);f=f(1:416,1:650);fd=double(f);gd=double(g);p=fd.*gd;数组乘!pmax=max(p(:));pmin=min(p(:));取最大最小值!pn=mat2gray(p);figure,imshow(pn)亮度变化:函数imadjust是对灰度图像进行亮度变化的基本ipt工具:g=imadjust(f,[low-in high-in],[low-in high-in],gamma)Gamma为1线性映射,大于1,则映射被加权至更低(更暗的)输出值,小于一,加权至更高的输出值明暗反转图像(负片)参数不同:>> f=imread('E:\image\book.pgm');g=imadjust(f, [0 1],[1 0 ]);imshow(g)>> f=imread('E:\image\book.pgm');g=imadjust(f, [0 1],[1 0 ],2);imshow(g)>> f=imread('E:\image\book.pgm');g=imadjust(f, [0 1],[1 0 ],0.5);imshow(g)另外也可以这样:进行明暗反转:g=imcomplement(f);imshow(g)将0.5到0.75之间的灰度级拓展到0-1,可用于突出我们感兴趣的亮度带g2= g2=imadjust(f,[0.5 0.75],[0 1]);imshow(g2)这个类似上面语句,但又更多的灰色调,方法是压缩灰度级的低端并扩展灰度级的高端g3=imadjust(f,[],[],2);imshow(g3)对数和对比度拉伸变换:对数变换通过此式子完成:g=c*log(1+double(f))对8比特而言,最简便:gs=im2uint8(mat2gray(g))使用mat2gray可将值限定在0-1之间,im2uint可将值限定在0-255之间使用对数变化减小动态范围:>> g=im2uint8(mat2gray(log(1+double(f)));imshow(g)图像g与原图像相比,在视觉方面的改善效果是非常明显的函数intrans:建立一个函数intrans,利用对比度拉伸方法得到增强图像然后在主界面输入:f=imread('E:\image\book.pgm');g=intrans(f,'stretch',mean2(i m2double(f)),0.9);figure,imshow(g) 函数gscale,亮度标度的函数:g=gscale(f,method,low,high)处理图像时,即管中间没问题,但想利用8比特或者16比特格式包村或查看一副图像时会出现问题,则要将图像调度在全尺度。

MATLAB笔记

MATLAB笔记

1、plot([5,40],[2,0])是指画出初始点(5,2),末点为(40,0)的直线;或者说画出横坐标从5到40,纵坐标从2到0的直线。

2、f=(r*exp(i*w)).^k 注意是.^而不是^3、f=(r*exp(i*w)).^k;Xr=real(f);求实部Xi=imag(f);求虚部Xa=abs(f);求幅值Xn=angle(f); 求辐角4、s1(find((k>=min(k1))&(k<=max(k1))==1))=f1;注:find函数是寻找非零元素的指标(角标)5、function [f,k]=lsxj(f1,f2,k1,k2)k=min(min(k1),min(k2)):max(max(k1),max(k2));%将数字时间变量扩展到最大的范围,将包括f1和f2的范围。

s1=zeros(1,length(k));s2=s1;s1(find((k>=min(k1))&(k<=max(k1))==1))=f1;% find函数是寻找非零元素的指标(角标)。

就是寻找(k>=min(k1))&(k<=max(k1))==1)的指标。

s2(find((k>=min(k2))&(k<=max(k2))==1))=f2;f=s1+s2;stem(k,f,'filled')axis([(min(min(k1),min(k2))-1),(max(max(k1),max(k2))+1),( min(f)-0.5),(max(f)+0.5)])f1=-2:2; n1=-2:2; f2=[1 1 1]; k2=-1:1;figure(1)stem(k1,f1,'filled'),axis([-3,3,-2.5,2.5])figure(2)stem(k2,f2,'filled'),axis([-3,3,-2.5,2.5])figure(3)[f,k]=lsxj(f1,f2,k1,k2)6、FLIPLR Flip matrix in left/right direction.(对矩阵进行翻转)FLIPLR(X) returns X with row preserved and columns flipped in the left/right direction.X = 1 2 3 becomes 3 2 14 5 6 6 5 4如应用于序列的反转{从h(n)到h(-n)}function [f,k]=lsfz(f1,k1)f=fliplr(f1);k=-fliplr(k1);stem(k,f,'filled')axis([min(k)-1,max(k)+1,min(f)-0.5,max(f)+0.5])k=-3:3; f1=2.^k;figure(1)stem(k,f1),axis([-4,4,-0.5,8.5])figure(2)lsfz(f1,k)7、用matlab实现序列的运算:序列的卷积和:y=conv(x1,x2)8、function [y,n]=dconv(x,h,n1,n2)y=conv(x,h);k0=n1(1)+n2(1);k3=length(x)+length(h)-2;n=k0:k0+k3;subplot(2,2,1)stem(n1,x);title('x(n)')xlabel('n');ylabel('x(n)')subplot(2,2,2)stem(n2,h);title('h(n)')xlabel('n');ylabel('h(n)')subplot(2,2,3)stem(n,y);title('x,hµÄ¾í»ýºÍÐòÁ')xlabel('n');ylabel('y(n)')m=get(gca,'position');m(3)=2.5*m(3);set(gca,'position',m)注:get()函数:获取对象的属性GET Get object properties.V = GET(H,'PropertyName') returns the value of the specified property for the graphics object with handle H. If H is a vector of handles, then get will return an M-by-1 cell array of values where M is equal to length(H). If'PropertyName' is replaced by a 1-by-N or N-by-1 cell array of strings containing property names, then GET will return an M-by-N cell array of values.GET(H) displays all property names and their current values for the graphics object with handle H.V = GET(H) where H is a scalar, returns a structure where each field name is the name of a property of H and each field contains the value of that property.9、gca函数:GCA Get handle to current axis.H = GCA returns the handle to the current axis in the current figure. The current axis is the axis that graphics commands like PLOT, TITLE, SURF, etc. draw to if issued.Use the commands AXES or SUBPLOT to change the current axis to a different axis, or to create new ones.10、position函数:POSITION Read a Space Mouse position axis.P = POSITION(MOUSE, N) reads the position of Space Mouse axis number N.The N parameter can be a vector to return positions of multiple axes at once.Translations and rotations are integrated. Outputs are positionand orientation in the form of roll/pitch/yaw angles.11、m=get(gca,'position');m(3)=2.5*m(3);set(gca,'position',m)这一语句的有与无对比:有:无:原来m= 0.1300,0.1100,0.3347,0.3412(估计是对应四个图的特性)后来m=0.1300 0.1100 0.8366 0.341212、用运算符号表示连续信号f=sym('sin(t)/t')ezplot(f,[-10,10])13、14、15、16、17、18、19、20\。

MATLAB——笔记

MATLAB——笔记

1、如果一个语句在一行内书写太长了,可能要另起一行接着写,在这种情况下我们需要在第一行末打上半个省略号(...),再开始第二行的书写。

2、lookfor命令与help命令不同,help命令要求与函数名精确匹配,而lookfor只要求与每个函数中的总结信息有匹配。

Lookfor命令比help命令运行起来慢得多,但它提高了得到有用信息的机会。

3、在命令窗口(The Command Windows)中输入demo或在启动平台中选择“demos”来运行MATLAB内建的示例。

在任何时侯你都可以用clc命令清空命令窗口(The Command Windows)中的内容,可以用clf清空当前图象窗口中的内容。

在工作空间窗口(The workspace browser)中变量可用clear命令清除。

正如我们看到的,工作空间窗口(The workspace browser)中的变量在独立的命令和M文件间执行时,可能会出现第一个问题中的变量存留在工作区而影响到第二个问题的解决。

为了避免这种情况的发生,在新的计算开始之前,应当有clear命令清空工作区。

另一个重要的命令是abort命令。

如果一个M文件运行时间过长,里面可能含有无限循环,而没有结束。

在这种情况下,可在命令窗口内输入control-c(简写为^c)。

输入这个命令方法是光标在命令窗口内,按住控制键然后按c。

当MATLAB删除了^c,说明这个程序已经停止并回到命令行提示符状态。

省略号(!)是另一个重要的特殊字符。

它的特殊作用是给计算机操作系统发送一个命令。

在省略号后的字符会发送给计算机并且执行,如果在计算机的命令行提示符中输入字符是一样的。

这种特性使系统命令更容易植入MA TLAB程序中。

最后,你能用diary命令记录下在MATLAB中运行过程中每个线程所做的事。

命令的格式如下:diary filename当这个命令被执行后,所有在命令窗口(The Command Windows)中的输入和输出将会被记录在diary文件中。

MATLAB学习笔记

MATLAB学习笔记

1. 有矩阵A 、矩阵B 和矩阵X 其关系为A*X=B,来求X ,在MA TLAB 中的语句为X=A\B2. 矩阵A 的分析求行列式 det(A) 求行列式的秩 rank(A) 求逆矩阵 inv(A) 求矩阵的转置A ’ 矩阵A 的特征向量和特征值[C,D]=eig(A) C 为特征向量 D 为特征值 3. 矩阵的数组运算元素之间的运算都叫阵列运算1》乘法(1) 矩阵运算A*B 矩阵的数组运算A.*B(元素与元素相乘)例如求y=sin(x^2) x=0:0.5:10,意思是要把x 每个元素平方后在求y 。

如果在MA TLAB 中运行的话会提示出错,因为x 是一个数组,而对数组每个元素进行运算的话要用数字运算,意思是要在想对应的运算符前加一点,写成y=sin(x.^2).4.函数cat 的使用 B=cat(dim,a1,a2…)意义:将多个同维a1,a2…构成一个高维数组B ,dim 是高维数组B 的维数,它必须等于大于a1,a2…的阶次。

5. 多项式以及表达式 假设y=Poly(A) 如果A 二维以上的数组,则y 表示由A 得特征根确定的多项式;如果A 为一维矩阵,则y 表示有A 的元素为多项式的跟确定的多项式。

即令y=0得到的值就是矩阵A 。

例如:A=[1 -2 3]则y=poly(A)=(x-1)(x+2)(x-3)的系数1 -2 -5 6. 4221-=A 二维向量,poly(A)为1 -5 8,即(x-1)(x-4)=-4的系数。

多项式函数的引用:polyval(1) y=polyval(px,x)(2) px 为多项式的系数,x 为多项式自变量取值,y 为对应多项式的函数值多项式的拟合方法:(1) 找出函数上的已知点系列(2) 有已知点系列确定多项式,即p=polyfit(x,y,n)式中,p 为模拟的多项式,x 和y 为已知点系列,n 是多项式的最高阶次。

第四章 符号运算(1) findsym(f,n)用来查找函数y 的变量次序,n 为查找变量的个数。

matlab学习笔记

matlab学习笔记
>> A=[3 2 0; -5 0 7; 0 0 1];
>> [i,j,v]=find(A)
i =
1
2
1
2
3
j =
1
1
2
3
3
方法定义B{2}='hello'第二种方法比第一种方法更方便所以更常用。
这样B就有两个元素了,B(1)是{[1;2]},B(2)是{'hello'},
每个元素都是cell型的(注意和B{1}、B{2}的区别,B{1}是[1;2],B{2}是'hello')
cell函数是造元素为cell类型的矩阵
>> A = [1 0 4 -3 0 0 0 8 6];
>> X = find(A)
X =
1 3 4 8 9
find(A>5)返回矩阵A中大于5的元素所在位置
>> find(A>5)
ans =
8 9
[i,j,v]=find(A) 返回矩阵A中非零元素所在的行i,列j,和元素的值v(按所在位置先后顺序输出)
plot(x,z,'k-o','linewidth',2,'markersize',4);
legend 实验数据y 实验数据z %%%legend 设置相关线条表示的内容
box off %%%% box off表示去掉坐标框的上线和右线;
legend('boxoff')
ylabel('时间/s','fontname','标楷体','fontweight','bold','fontsize',12); %%ylabel和xlabel分别是设置X轴和Y轴的名称和单位;

学习笔记-MATLAB

学习笔记-MATLAB

学习笔记-MATLAB⼀,基操1,命令窗⼝中的标点符号:空格:⽤于输⼊变量之间的分隔符以及数组⾏元素之间的分隔符。

逗号:⽤于要显⽰计算结果的命令之间的分隔符;⽤于输⼊变量之间的分隔符;⽤于数组⾏元素之间的分隔符。

点号:⽤于数值中的⼩数点。

分号:⽤于不显⽰计算结果命令⾏的结尾;⽤于不显⽰计算结果命令之间的分隔符;⽤于数组元素⾏之间的分隔符。

冒号:⽤于⽣成⼀维数值数组,表⽰⼀维数组的全部元素或多维数组的某⼀维的全部元素。

百分号:⽤于注释的前⾯,在它后⾯的命令不需要执⾏。

单引号:⽤于括住字符串。

圆括号:⽤于引⽤数组元素;⽤于函数输⼊变量列表;⽤于确定算术运算的先后次序。

⽅括号:⽤于构成向量和矩阵;⽤于函数输出列表。

花括号:⽤于构成元胞数组。

下划线:⽤于⼀个变量、函数或⽂件名中的连字符。

续⾏号:⽤于把后⾯的⾏与该⾏连接以构成⼀个较长的命令。

“At”号:⽤于放在函数名前形成函数句柄;⽤于放在⽬录名前形成⽤户对象类⽬录。

+,-,*,/,Λ:算术运算符。

2,数值计算结果的显⽰格式:命令含义范例format short短格式(默认) 3.1416(⼩数点后4位有效)format short e短格式科学格式 3.1416e+000(5位科学计数)format long长格式 3.141592653589793(15位)format long e长格式科学格式 3.141592653589793e+000format rat有理格式355/113format hex⼗六进制格式400921fb54442d18format bank 银⾏格式 3.14(元⾓分格式)3,命令窗⼝的常⽤控制命令:clc: 清屏。

清除命令窗⼝中的所有已显⽰的内容。

clear: 删除内存中的变量。

what:列出当前⽬录下的M、MAT、MEX⽂件清单。

dir:显⽰当前⽬录或指定当前⽬录下的⽂件。

cd 路径:改变或显⽰当前⼯作⽬录;路径可省略,省略时为显⽰当前⼯作⽬录;cd ..表⽰回到上⼀级⽬录。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
对x(t)进行插0,即每2个数据点中插入一个值,
clear all;
%%%%%单周期和多周期方波信号频谱
T = 0.01;%采样频率100Hz
t = 0:T:10-T;%信号持续时间10秒
inc = find(t<=5);%占空比为5/10
f = zeros(size(t));f(inc) = 1;%生成单周期方波脉冲信号
subplot(2,2,3);plot(abs(Fx1));title('AR过程功率谱(方法论1)');
h=ifft(H);%AR系统的冲突响应
x=conv(h,Nn);%系统工程输出信号
Rx=conv(x,fliplr(x));%输出信号的自相关
Fx2=fft(Rx);%AR过程功率谱
subplot(2,2,4);plot(abs(Fx2));title('AR过程功率谱(方法2)');
Matlab实践笔记
高某调频信号为u(t)=[1-0.7cos(t)][cos(10 t)+sin(9 t)]
试画出现1-20秒内的信号曲线,画出该曲线的包络线。
clear all;
t = 0:0.01:20;
y = (1-0.7+cos(t)).*(cos(10*pi*t)+sin(9*pi*t));
系数a1、a2为实数,取值如下
=0.1
=-0.8
画出x(n)的功率谱密度
clear all;
%%%%%AR过程功谱%%%%%%%
Nn=randn(1,4096);%产生高斯白噪声
Rn=conv(Nn,fliplr(Nn));%通过卷积
Fn=fft(Rn);%求噪声功谱
subplot(2,2,1); plot(abs(Fn));title('噪声功率谱');%
z1 = interp(x,2);%内插信号,每2个点内插一个值,保持信号包络不变,不是直接插0
Fz1 = fft(z1);%内插信号z1频谱
figure(3);
subplot(3,1,1);stem(x,'.');title('原信号x');
subplot(3,1,2);stem(y1,'.');title('抽样信号y');
figure %用于指定窗口的名称
freqs(b,a);
b = [1 0 5];
a = [3 4 1];
h = freqs(b,a);
freqs(b,a);
例2.4
目的:掌握离散序列频谱的求解和绘制方法。
信号:该例中考查两个正弦序列的叠加后的幅频特性
x(n)=sin(w1*n)+sin(w2*n)
f1 = 20; f2 = 50; %两个连续正弦信号的频率分别为10Hz和50Hz
y = conv(x,h);
subplot(5,1,1);stem(n,u1);title('u1(n)');
subplot(5,,2);stem(n,u2);title('u2(n)');
subplot(5,1,3);stem(n,x);title('x(n)=e(n)-e(n-5)');
subplot(5,1,4);stem(n,h);title('h(n)=(0.5)^n * e(n)');
subplot(3,1,3);stem(z1,'.');title('插值信号z');
figure(4);
subplot(3,1,1);plot(abs(Fx));title('原信号x幅频特性');
subplot(3,1,2);plot(abs(Fy1));title('抽样信号y1幅频特性');
% fs = 0.1; duty = 50;
% f = square(2*pi*fs*t,duty)/2+1/2; %直接生成单周期方波,持续时间t,频率fs,占空比duty
% f = circshift(f,[0,50]); %改变脉冲位置
F = fft(f);%单脉冲方波脉冲频谱
omega = linspace(0,2,length(t));%数字频率0-2PI
%plot(t,y,t,up,'-.',t,down,'-.')
plot(t,y);hold on
plot(up_x,up);hold on;
plot(down_x,down)
例题:假设一个AR过程x(n)由下式产生
x(n)=- x(n-1)- x(n-2)+v(n)
其中v(n)是零均值高斯白噪声,方差
subplot(3,1,1);
stem(n,x); %绘制时域信号
title('时域信号');
subplot(3,1,2);
stem(mFx); %绘制[0,2pi]区间内的频谱
title('[0,2pi]区间内的频谱');
subplot(3,1,3);
stem(n(1:32),mFx(1:32));%绘制[0,pi]区间内的频谱
y(inc) = x(inc);%抽取位置赋原信号x值
Fy = fft(y);%抽样信号频谱
z = kron(x,[0,1]);%内插0,每2个数据点之间内插1个0
% z = upsample(x,2); %内插0,每2个数据点之间内插1个0
Fz = fft(z);
figure(1)
subplot(3,1,1);stem(x,'.');title('原信号x');
a1=0.1; a2=-0.8;
a=[1,a1,a2];
b=1;%AR系统函数的系数
[H,W]=freqz(b,a,length(Fn),'whole');%求AR系统的频率响应,0-2P
subplot(2,2,2);plot(W,abs(H));title('AR系统幅频特性');
Fx1=abs(H).^2.*(Fn.');%直接通过随机过程通过学习LTI系统的性质求输出AE过程的功率谱
up1_inc = find (diff(sign(diff(y)))==-2)+1;
up1 = y(up1_inc);
up1_x = x(up1_inc);
downl_inc = fid (diff(sign(diff(y)))==2)+1;
down1 = y(down1_inc);
down_x = x(down1_inc);
T = 0.01;%采样频率100Hz
t = 0:T:10-T;%信号持续时间10s
f = 0.3;%调频斜率参数
x = sin(pi*f*t.^2);%线性调频信号
Fx = fft(x);% x信号频谱
inc = find(mod(t,5*T)==0);%每2个点抽取一次,确定抽取点的位置
y = 0*t;%其余位置赋0值
fs = 400; %采样频率取为400Hz
w1 = 2*pi*f1/fs; %w1,w2分别对应的数字角频率
w2 = 2*pi*f2/fs;
n = [-31:32]; %数据段范围
x = sin(w1*n)+sin(w2*n);
Fx = fft(x,64); %对信号x作64点FFT
mFx = abs(Fx); %求频谱的模
11月24日
将单脉冲信号周期延拓即得到脉冲串,考虑一个10周期矩形脉冲串,占空比为50%,画出其幅频特性,并与单脉冲的进行比较
将占空比改为5%,画出此时的幅频特性,与前面的有何不同?
数据抽取和插值对频谱的影响
考虑线性调频信号时画出其幅频响应
对x(t)每5个点抽取一次,得到y(t);此时y(t)数据与x(t)一样长,但是有4/5人位置为0,画出y(t)的幅频响应,并与x(t)的比较
subplot(3,1,3);plot(abs(Fz));title('插值信号z1幅频特性');
y1 = downsample(x,5); %第5个点抽样1次,其余位置不赋0值
% y1 = decimate(x,5); %第5个点抽样1次,其余位置不赋0值
Fy1 = fft(y1);%抽样信号y1频谱
subplot(5,1,5);stem(y);title('卷积后的y');
n = -5:34;
u1 = [n>=0];
N = 10;%延拓10个周期
t1 = 0:T:10*N-T;%多周期信号持续时间100s采样频率不变
f1 = kron(ones(1,10),f);%利用矩阵直积进行周期延拓,得到10个周期的就问信号
F1 = fft(f1);%多周期信号频谱
% f1 = square(2*pi*fs*t1,duty)/2+1/2; %直接生成我周期方波,持续t1,
up = up1;
down = dwon1;
clear all;
t = 0:0.01:20;
y = (1-0.7+cos(t)).*(cos(10*pi*t)+sin(9*pi*t));
[up,down] = envelope(t,y);
up1_inc = find (diff(sign(diff(y)))==-2)+1;
title('[0,pi]区间内的频谱');
例2.5
目的:掌握离散序列响应卷积和求解的Matlab实现。
信号:h(n)=(0.5)^n * e(n)
相关文档
最新文档