matlab实验指导书 下载本文

内容发布更新时间 : 2024/3/29 18:45:45星期一 下面是文章的全部内容请认真阅读。

matlab实验指导书

2 .编写一个简单的函数文件,它具有如下性质:该函数被调用时,如果不指定输入变量,则自动输出“用户,您忘记给定输入变量了!”;当输入大于1的整数时,则输出“您就是一个合法用户!”;当输入的就是一个非正整数时,函数文件会给出一个错误提示“您就是非法用户!” 【 提示:可能用到 disp,error 等指令,使用方法自己查询帮助 】

function sa = circle(r,s) % 首行就是函数声明行,以 function 开头 %CIRCLE 以制定颜色画半径为 r 的圆面 % r 指定半径的数值 % s 指定线色的字符串 % sa 圆面积 % % circle(r) 利用蓝实线画半径为 r 的圆周线 % circle(r,s) 利用串 s 指定的线色画半径为 r 的圆周线 % sa=circle(r) 计算圆面积,并画半径为 r 的蓝色圆面 % sa=circle(r,s) 计算圆面积,并画半径为 r 的 s 色圆面 % if nargin>2 % nargin 表示输入宗量的变量个数,就是系统保留变量 error('输入宗量太多。'); % error 把引号的内容在命令窗口前加问号输 end if nargin==1 s='b'; end clf % 清图形窗口 t=0:pi/100:2*pi; x=r*exp(i*t); if nargout==0 % nargin 表示输出宗量的变量个数,就是系统保留变量 plot(x,s); else sa=pi*r*r; fill(real(x),imag(x),s) % fill 指令就是填充颜色指令,具体瞧帮助 end axis('square') % 使得输出图形坐标为正方形 实验四 数据可视化方法

[实验目的]

1 .掌握曲线绘制的基本技法与指令,会使用线形、色彩、数据点标记表现不同数据的特征,掌握生成与运用标识注释图形。

2 .进一步掌握函数编写及数据可视化方法。 [实验原理]

MATLAB 提供了相当强大的可视化指令,通过这些指令,我们可以非常简单地实现数据的可视化。首先我们来瞧离散数据与离散函数的可视化方法。对于离散实函数yn?f?xn?,当xn以递增(或递减)次序取值时,根据函数关系可以求得同样数目的yn,当把这两组向量用直角坐标中的点次序图示时,就实现

matlab实验指导书

了离散函数的可视化。当然这种图形上的离散序列所反映的只就是某确定的有限区间内的函数关系,不能表现无限区间上的函数关系。通常我们可以采用plot或者stem来实现。只就是需要注意的就是使用plot时,需要使用星号或者点等标识来表示数据点,比如plot(xn ,yn ,’r*’,’MarkerSize’,20),就表示用字号 20 的红色星点来标识数据点 , 此时为了便于观察,通常随后加上一条语句“grid on”,即给图形加上坐标方格。而采用 stem 标识数据点的格式就是 stem(xn ,yn ) 。

连续函数的可视化与离散函数可视化类似,也必须先在一组离散自变量上计算相应的函数值,并把这一组“数据点”用点图示。但这些离散的点不能表现函数的连续性。为了进一步表示离散点之间的函数函数情况,MATLAB有两种常用处理方法:一就是对区间进行更细的分割,计算更多的点,去近似表现函数的连续变化;或者把两点用直线连接,近似表现两点间的(一般为非线性的)函数形状。但要注意,倘若自变量的采样点不足够多,则无论哪种方法都不能真实地反映原函数。对于二维数据,常用指令仍旧就是plot。对于离散数据,plot指令默认处理方法就是:自动地把这些离散数据用直线(即采用线性插值)连接,使之成为连续曲线。对于三维图形的表示,通常有plot3等指令。

通常,绘制二维或三维图形的一般步骤如下表所示: 步骤 曲线数据准备 先取一个参变量采用向量 然后计算各坐标数据向量 选定图形窗及子图位置 缺省时,打开Figure No、1,或当前窗,当前子图 可用指令指定图形窗号与子图号 调用二维或三维绘图指令 指定好线形、色彩、数据点形 设置轴的范围、坐标分格线 典型指令 t=0:、001:3*pi; % 参变量采用向量 t=linspace(0,3*pi,1000) % 参变量采用向量另种方式 y=f(t); % 计算相应的函数值 figure(1) % 指定1号图形窗 Subplot(2,2,3) % 指定3号子图 plot(t,y,’r:’) % 用红虚点画二维线 , 画三维可 %plot3 指令,此处略 axis([x1,x2 ,y1,y2 ]) % 平面坐标范围 grid on % 坐标分格线 title(‘调制图形’) % 图名 xlabel(‘t’); ylabel(‘y’) % 轴名 legend(sin(t),’sin(t)sin(9t)’) % 图例 text(2,0、5, ’y=sin(t)sin(9t)’) % 文字说明 colormap, shading, light, material view, aspect get, set 1 2 3 4 5 图形注释:图名、坐标名、图例、文字说明等 6 7 8 着色、明暗、灯光、材质处理等(仅对三维图形使用) 视点、三度(横、纵、高)比(仅对三维图形使用) 图形的精确修饰(图柄操作) 利用对象属性值设置 利用图形窗工具条进行 打印 图形窗上的直接打印选项或按键 利用图形后处理软件打印 9 % 采用图形窗选项或按键打印最简捷 print –dsp2 % 专业质量打印指令 说明: 步骤1、3就是最基本的绘图步骤,一般来说,由这两步所画出的图形已经具备足够的表现力。至于其她步骤,并不完全必需。

用户可根据自己需要改变上面绘图步骤,并不必严格按照执行。

步骤2一般在图形较多情况下使用,此时需要指定图形窗、指定子图。

matlab实验指导书

步骤8涉及图柄操作,需要对图形对象进行属性设置,较为复杂。 MATLAB 提供了交互式图形编辑功能,可方便地对图形精细修饰。

plot 等绘图指令的典型调用格式为: plot(t,y,’s’) 。其中s就是用来指定线型、色彩、数据点形的选项字符串。S的合法取值如下所示,格式形如’r+’。如果缺省,此时线型、色彩、数据点形将由MATLAB默认设置确定。plot进一步的使用可参瞧帮助文档。

s可用来指定的线形分别有:“-”实线,“:”虚线,“-、”点划线,“--”双划线。 s可用来指定的色彩分别有:b-蓝,g-绿,r -红,c-青,y-黄, w-白,k-黑。 s可用来指定的数据点形有:“、”实心黑点,“+”十字符,“^”朝上三角符,“v”朝下三角符,“d”菱形符,“p”五角星符等。

常用的坐标控制指令axis使用就是最多的,比如 axis([x1 ,x2 ,y1 ,y2]) 可人工设定坐标范围,axis off可取消轴背景,axis equal横纵轴采用等长刻度等。其她使用见帮助。

需要特别指出的就是,当遇到在已经存在的图上再绘制一条或多条曲线,可使用hold on指令,可保持当前轴及图形保持不被刷新,并准备接收此后绘制的新曲线, hold off 则取消此功能。对于想画多个独立的图形,则会用到figure(n)指令,这里n为整数,可顺序从1向后排。如果想在特定图形中布置几幅独立的子图,则会用到 subplot(m,n,k) ,即在(m×n)幅子图中的第k幅成为当前图; subplot(‘position’,[left botton width height]) ,表示在指定位置上开辟子图,并成为当前图。使用clf指令可清除图形窗的内容。另外MATLAB还提供了ginput、gtext、legend等交换指令。

[x,y]=ginput(n),可用鼠标从二维图形上获取n个点的数据坐标(x,y),该指令只适用于二维图形 , 在数值优化、工程设计中十分有用。通常在使用前先对图进行局部放大处理。 [实验内容]

一.仿照运行,体会数据可视化方法。 1 .已知n?0,1,?,12,y?n?6??1,运行下面程序,体会离散数据可视化方法。

% 用 plot 实现离散数据可视化 n=0:12; % 产生一组自变量数据 y=1、/abs(n-6); % 计算相应点的函数值 plot(n,y,'r*','MarkerSize',20) % 用红花标出数据点 grid on % 画坐标方格 % 用stem实现离散数据可视化 n=0:12; y=1、/abs(n-6); stem(n,y)

说明:

plot与stem指令均可以实现离散数据的可视化,但通常plot更常用于连续函数中特殊点的标记;而stem广泛运行与数字信号处理中离散点的图示。

用户在运行上面例程时会发现在命令窗口出现警告:Warning: Divide by zero!即警告程序中出现非零数除以0的指令。MATLAB对于这种情况并不中止程序只就是给该项赋值为inf 以做标记。

2 .下面时用图形表示连续调制波形y?sin?t?sin?9t?,仿照运行,分析表现形式不同的原因。

matlab实验指导书

clear t1=(0:11)/11*pi; y1=sin(t1)、*sin(9*t1); t2=(0:100)/100*pi; y2=sin(t2)、*sin(9*t2); subplot(2,2,1),plot(t1,y1,'r、'),axis([0,pi,-1,1]),title('子图(1)'); subplot(2,2,2),plot(t2,y2,'r、'),axis([0,pi,-1,1]),title('子图(2)'); subplot(2,2,3),plot(t1,y1,t1,y1,'r、') axis([0,pi,-1,1]),title('子图(3)'); subplot(2,2,4),plot(t2,y2) axis([0,pi,-1,1]),title('子图 (4)')

二.编程实现。

1 .用图形表示连续调制波形y?sin?t?sin?9t?,过零点及其包络线,如下图所示。

2 .编写函数 [x,n]=stepseq(n0,n1,n2), 实现:

?1n1?n?n0u?n????0n2?n?n0,n为整数

并编写脚本文件实现:x?n??n?u?n??u?n?10??/10e?0.3?n?10??u?n?10??u?n?20??,0?n?20 要求在脚本文件中调用 stepseq 函数,最后绘出序列x?n?在给定区间的波形图。

3 .编写一个函数文件[y,n]=sigadd(x1,n1,x2,n2),实现两个对应样本之间的相加,其中x1就是长度为n1的序列,x2就是长度为n2的序列,n1、n2 分别就是x1、x2的位置信息(n1、 n2 均为整数),如:

n1={ -3,-2,-1,0,1,2,3,4} ,对应的 x1={ 2, 3, 1,4,1,3,1,2} ;

n2={-4,-3,-2,-1,0,1,2} ,对应的 x2={ 1, 3, 2, 5,1,3,4} 。

当调用函数 [y,n]=sigadd(x1,n1,x2,n2) 时,我们应该得到: n={-4,-3,-2,-1,0,1,2,3,4},

对应的 y={ 1, 5, 5, 6,5,4,7,1,2} 。

仔细观察 sigadd 函数的功能。编好函数文件程序后,请在命令窗口调用,验证正确性,记录验证结果。

matlab实验指导书

实验五 简单数据分析

[实验目的]

1 .初步掌握利用 MATLAB 实现数据的拟合、插值、简单数据分析等。 [实验原理]

数值计算能力就是MATLAB称雄世界的根本柱石。MATLAB内建了很多函数可以求解线性方程、特征值问题以及有关多项式与卷积、数据分析、泛函、信号处理、系统分析等方面的指令。结合目前的学习进度,本课程内只简单讨论数据的拟合、插值、简单数据分析及在实验中讨论函数的零极点求法等内容,对其她内容有兴趣的可参瞧参考书籍。

MATLAB提供了拟合与插值的相关函数。曲线拟合就是研究如何寻找“平滑”曲线最好地表现带噪声的“测量数据”点。而插值就是在认定所给“基准数据”完全正确的情况下,研究如何“平滑”地估算出“基准数据”之间其她点的函数值。因此插值所得曲线一定穿过“基准数据”。而拟合曲线就不一定了。另外,拟合多项式只能在给定数据所限定的区间内使用,不要任意向往拓展。而每当基准数据之间其她点上函数值没法获得,或获得的代价很好时,插值就发挥作用。插值指令很多,有 interp1,interp2,interp3等。采用的插值算法也很多,如线形插值、三次多项式插值算法、样条插值等。对于多项式拟合有polyfit、poly2str、polyval等函数,具体请参瞧帮助与范例。

MATLAB内建了很多数据分析函数,比如常用的随机数发生器函数rand,randn; 计分析指令有:min-最小值,max-最大值,mediam-求中值 ,mean-平均值, std-标准差,sort-排序指令等。差分与累计函数diff、prod、sum等。另外MATLAB还提供了很多泛函指令、信号处理专业工具包、系统分析中的控制工具包以及诸如微分、求导等符号运算功能等等,有需要的可参瞧帮助及相关书籍。 [实验内容]

一.设计仿真通信原理中的M-FSK。

实验六 Simulink仿真初步

[实验目的]

1 .初步熟悉 MATLAB 仿真环境。 2 .掌握物理模型的建立、仿真方法。 [实验原理]

Simulink交互式仿真集成环境就是MATLAB最重要的组件之一,它提供了一个动态系统建模、仿真与综合分析的集成环境。它适用面广,可以处理的系统包括:线性、非线性系统,离散、连续及混合系统,单任务、多任务离散事件系统。在 Simulink 提供的图形用户界面 GUI 上,只要进行鼠标的简单拖拉操作就可构造出复杂的仿真模型。它外表以方块图形式呈现,且采用分层结构。从建模角度讲,这既适于自上而下(Top-down )的设计流程(概念、功能、系统、子系统、直至器件),又适于自下而上(Bottum-up)逆程设计。从分析研究角度讲,这种Simulink模型不仅能让用户知道具体环节的动态细节,而且能让用户清晰地了解各器件、各子系统、各系统间的信息交换,掌握各部分之间的交互影响。在 Simulink 环境中,用户将摆脱理论演绎时需做理想化假设的无奈,观察到现实世界中摩擦、风阻、齿隙、饱与、死区等非线性因素与各种随机因素对系统行为的影响。在Simulink环境中,用户可以在仿真进程中改变感兴趣的参数,实时地观察系统行为的变化。由于Simulink环境使用户摆脱了深奥数学推演的压力与烦琐编程的困扰,因此用户在此环境中会产生浓厚的探索兴趣,引发活跃的思维,感悟出新的真谛。在 MATLAB