安徽大学matlab第三次试验

合集下载

(最新版)MATLAB实验报告

(最新版)MATLAB实验报告

(最新版)MATLAB实验报告实验一典型环节的MATLAB仿真一、实验目的1.熟悉MATLAB桌面和命令窗口,初步了解SIMULINK功能模块的使用方法。

2.通过观察典型环节在单位阶跃信号作用下的动态特性,加深对各典型环节响应曲线的理解。

3.定性了解各参数变化对典型环节动态特性的影响。

二、SIMULINK的使用MATLAB中SIMULINK是一个用来对动态系统进行建模、仿真和分析的软件包。

利用SIMULINK功能模块可以快速的建立控制系统的模型,进行仿真和调试。

1.运行MATLAB软件,在命令窗口栏“>>”提示符下键入simulink命令,按Enter 键或在工具栏单击按钮,即可进入如图1-1所示的SIMULINK仿真环境下。

2.选择File菜单下New下的Model命令,新建一个simulink 仿真环境常规模板。

3.在simulink仿真环境下,创建所需要的系统。

以图1-2所示的系统为例,说明基本设计步骤如下:1)进入线性系统模块库,构建传递函数。

点击simulink下的“Continuous”,再将右边窗口中“Transfer Fen”的图标用左键拖至新建的“untitled”窗口。

2)改变模块参数。

在simulink仿真环境“untitled”窗口中双击该图标,即可改变传递函数。

其中方括号内的数字分别为传递函数的分子、分母各次幂由高到低的系数,数字之间用空格隔开;设置完成后,选择OK,即完成该模块的设置。

3)建立其它传递函数模块。

按照上述方法,在不同的simulink 的模块库中,建立系统所需的传递函数模块。

例:比例环节用“Math”右边窗口“Gain”的图标。

4)选取阶跃信号输入函数。

用鼠标点击simulink下的“Source”,将右边窗口中“Step”图标用左键拖至新建的“untitled”窗口,形成一个阶跃函数输入模块。

5)选择输出方式。

用鼠标点击simulink下的“Sinks”,就进入输出方式模块库,通常选用“Scope”的示波器图标,将其用左键拖至新建的“untitled”窗口。

matlab 模拟 实验报告

matlab 模拟 实验报告

matlab 模拟实验报告Matlab模拟实验报告引言:Matlab作为一种功能强大的数学软件,广泛应用于科学研究和工程领域。

本文将通过模拟实验的方式,探讨Matlab在信号处理和控制系统中的应用。

一、信号处理实验在信号处理领域,Matlab提供了丰富的工具和函数,可以对各种类型的信号进行处理和分析。

我们选择了音频信号作为实验对象,通过Matlab模拟实验,探索不同的信号处理技术。

1.1 信号生成与显示首先,我们使用Matlab生成一个正弦信号,并通过plot函数将其显示出来。

代码如下:```matlabt = 0:0.001:1; % 时间范围为0到1秒,采样率为1000Hzf = 10; % 信号频率为10Hzx = sin(2*pi*f*t); % 生成正弦信号plot(t, x); % 显示信号```通过运行以上代码,我们可以在Matlab的图形界面中看到一个频率为10Hz的正弦信号波形。

1.2 信号滤波接下来,我们将对生成的正弦信号进行滤波处理,以去除其中的高频噪声。

我们使用Matlab中的滤波函数fir1来实现。

代码如下:```matlabfs = 1000; % 采样率为1000Hzfc = 100; % 截止频率为100HzN = 50; % 滤波器阶数b = fir1(N, fc/(fs/2)); % 生成滤波器系数y = filter(b, 1, x); % 对信号进行滤波plot(t, y); % 显示滤波后的信号```通过运行以上代码,我们可以观察到滤波后信号中高频成分的减弱。

二、控制系统实验在控制系统领域,Matlab提供了丰富的工具和函数,可以进行系统建模、控制器设计和系统仿真等操作。

我们选择了一个简单的控制系统作为实验对象,通过Matlab模拟实验,探索不同的控制策略。

2.1 系统建模首先,我们需要对控制系统进行建模。

假设我们的控制系统是一个带有传感器、控制器和执行器的闭环系统。

matlab实验心得总结

matlab实验心得总结

matlab实验心得总结在通过完成一系列的Matlab实验后,我对这个强大的数学计算软件有了更深入的认识。

通过这些实验,我不仅学到了如何使用Matlab进行数据处理和分析,还体会到了它在科学研究和工程应用中的广泛使用。

实验一:Matlab基础操作在第一次接触Matlab时,我首先学习了它的基本操作。

Matlab提供了友好的用户界面和丰富的命令工具,使得数据处理变得简单且高效。

在实验中,我学会了如何定义变量、进行基本的数学运算和使用矩阵操作等。

这些基础操作为后续的实验打下了坚实的基础。

实验二:数据可视化数据可视化在科学研究和工程领域中起着重要的作用。

在这个实验中,我学会了如何利用Matlab绘制各种图形,如折线图、散点图和柱状图等。

通过调整图形的样式和颜色,使得数据更加直观和易于理解。

同时,我还学会了如何添加标题、坐标轴标签和图例,使得图形具有更好的可读性。

实验三:模拟与仿真Matlab不仅可以进行数据处理和图形绘制,还可以进行模拟和仿真。

在这个实验中,我学会了如何使用Matlab进行数学模型的建立和仿真。

通过设定合适的参数和方程,我可以模拟出各种现实世界中的物理、生物和工程现象。

这对于科学研究和工程设计具有重要的意义。

实验四:信号处理信号处理是Matlab的一个重要应用领域。

在这个实验中,我学会了如何使用Matlab对信号进行分析和处理。

通过应用不同的滤波器,我可以去除信号中的噪声和干扰,提取出感兴趣的信息。

同时,我还学会了如何进行频域分析,通过傅里叶变换将信号转换到频率域,进一步分析信号的频谱特性。

实验五:数值计算Matlab还提供了强大的数值计算功能。

在这个实验中,我学会了如何使用Matlab进行数值计算和优化。

通过使用不同的数值求解方法,我可以解决复杂的数学方程和优化问题,得到精确的计算结果。

这对于科学研究和工程计算具有重要的价值。

总结起来,通过这些实验,我对Matlab的应用能力有了明显的提升。

电子科大matlab与数值分析第三次上机实践报告

电子科大matlab与数值分析第三次上机实践报告

Matlab上机实践报告实践内容:线性方程组求解和函数的数值逼近学院:姓名:学号:指导老师:实践日期:题目(一)1. 对高阶多项式()()()()()2011220k p x x x x x k ==---=-∏编程求下面方程的解()190p x x ε+=并绘图演示方程的解与扰动量ε的关系。

题目分析:本题目的是演示方程解和扰动变量ε的关系,又题目显然可以看出多项式的解,所以可以先画出多项式的真解。

然后生成若干组扰动多项式,求解扰动多项式,分别用不同颜色绘图,比较它们与真解的差距。

题目程序: x=1:20;y=zeros(1,20);rao=zeros(1,21); %创建扰动控制矩阵scatter(x,y,'m') %绘出真解,以‘o ’型显示 ,洋红颜色标出 title('方程真根及扰动后的根') hold on; %保持真解 pause; %暂停for x=1:5 %产生五组扰动 rao(2)=10^(-x); %在十九次方项产生扰动e=roots(poly(1:20)+rao); %求解添加扰动后的根 plot(e,'.') %绘出添加扰动后的根,用实点标出 e %显示扰动后的根 hold on ; %保持 pause; %暂停 end 演示结果:0510152025303540-20-15-10-505101520方程真根及扰动后的根备注:扰动后根的数据太多,我只把图形结果呈现出来了。

实验结论:实验产生一个不大的干扰就能产生一个挺大的误差,而且扰动量越大,结果差距就越大。

题目(二)2. 对n=2~20,生成对应的Hilbert 矩阵,计算矩阵的条件数;通过先确定解获得常向量b 的方法,确定方程组()n H x b =最后,用矩阵分解方法求解方程组,并分析计算结果。

题目分析:这个题目考察的是求解矩阵的条件数,以及求解矩阵的根,并且能够分析出方程组是否为病态。

matlab数字信号部分上机实验解读

matlab数字信号部分上机实验解读
0
0n3 4n7 other
x6 (n) cos8t cos16t cos 20t
(2) 令x(n)=x4(n)+x5(n), 用FFT计算 8 点和 16 点离散傅里 叶变换,
X(k)=DFT[x(n)] (3) 令x(n)=x4(n)+jx5(n), 重复(2)。
4. 思考题 (1) 在N=8时, x2(n)和x3(n)的幅频特性会相同吗? 为 什么? N=16呢? (2) 如果周期信号的周期预先不知道, 如何用FFT进 行谱分析? 5. 实验报告要求 (1) 简述实验原理及目的。 (2) 结合实验中所得给定典型序列幅频特性曲线, 与理论结果比较, 并分析说明误差产生的原因以及用 FFT作谱分析时有关参数的选择方法。 (3) 总结实验所得主要结论。 (4) 简要回答思考题。
} K = LH; while(J>=K) { J=J-K; K=(int)(K/2+0.5); } J=J+K;
} }
实验三: 用双线性变换法设计 IIR数字滤波器
1. 实验目的 (1) 熟悉用双线性变换法设计IIR数字滤波器的原理 与方法。 (2) 掌握数字滤波器的计算机仿真方法。 (3) 通过观察对实际心电图信号的滤波作用, 获得 数字滤波的感性知识。
0n3 4n7
其它n
4 n 0 n 3
x3(n) n 3 4 n 7
0
x4 (n)
cos
4
n
其它n
x5
(n)
sin
8
n
x6(n) cos8 t cos16 t cos 20 t
(4) 编写主程序。 图 1 给出了主程序框图, 供参考。 本实验提供 FFT子程序和通用绘图子程序。 (5) 按实验内容要求, 上机实验, 并写出实验 报告。

matlab实验三级数word精品文档6页

matlab实验三级数word精品文档6页

实验三 级数【实验目的】1.了解级数的有关理论。

2.了解函数的Taylor 展开式。

3.学习,掌握MATLAB 软件中有关命令。

【实验内容】1.求函数sin y x =的级数,并考察其Taylor 展开式的前几项构成的多项式函数的图形向sin y x =的图形的逼近情况。

2.计算级数211n n ∞=∑的值。

3.验证Euler 公式111lim(1ln )0.577123x C n n→∞=++++-=。

【实验准备】 1.级数的基本概念。

数项级数;Taylor 级数。

2.级数的MATLIB 命令。

主要用symsum,taylor 求级数的和及进行Taylor 展开式。

【实验重点】1、级数的计算【实验难点】1、无穷级数的计算【实验方法与步骤】练习1 先用Taylor 命令观察函数sin y x =Maclaurin 展开式的前几项,若观察前6项,相应的MATLIB 代码为>>clear;syms x;>>taylor(sin(x),0,2) >>taylor(sin(x),0,3) >>taylor(sin(x),0,4) >>taylor(sin(x),0,5) >>taylor(sin(x),0,6) 运行结果为>> taylor(sin(x),0,1) ans =>> taylor(sin(x),0,2) ans =x>> taylor(sin(x),0,3) ans =x>> taylor(sin(x),0,4) ans =x-1/6*x^3>> taylor(sin(x),0,5) ans =x-1/6*x^3ans =x-1/6*x^3+1/120*x^5然后在同一坐标系里作出函数siny x=和其Taylor展开式的前几项构成的多项式函数,y x=33!xy x=-,35,,3!5!x xy x=-+的图形,观察这些多项式函数的图形向siny x=的图形逼近的情况。

matlab实验内容答案

matlab实验内容答案

m a t l a b实验内容答案(总16页) -本页仅作为预览文档封面,使用时请删除本页-实验报告说明:matlab 课程实验需撰写8个实验报告,每个实验报告内容写每次实验内容中标号呈黑体大号字显示的题目。

第一次实验内容:实验一 MATLAB 运算基础一、实验目的1.熟悉启动和退出MATLAB 的方法。

2.熟悉MATLAB 命令窗口的组成。

3.掌握建立矩阵的方法。

4.掌握MATLAB 各种表达式的书写规则以及常用函数的使用。

二、实验内容1.先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。

(1)22sin8511z e ︒=+ (2)12ln(2z x =,其中2120.455i +⎡⎤=⎢⎥-⎣⎦(3)0.30.33sin(0.3), 3.0, 2.9, 2.8,,2.8,2.9,3.02a ae e z a a --=+=--- 提示:利用冒号表达式生成a 向量,求各点的函数值时用点乘运算。

(4)2220141122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪--≤<⎩,其中t =0::提示:用逻辑表达式求分段函数值。

2.已知12344347873657A -⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦,131203327B -⎡⎤⎢⎥=⎢⎥⎢⎥-⎣⎦求下列表达式的值:(1) A+6=B 和A-B+I(其中I 为单位矩阵)。

(2) A*B 和A.*B 。

(3) A^3和A^.3 。

(4) A/B 和B\A 。

(5)[A ,B]和[A([1,3],;);B^2] 。

3.设有矩阵A 和B12345678910111213141516171819202122232425A ⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦, 30161769023497041311B ⎡⎤⎢⎥-⎢⎥⎢⎥=-⎢⎥⎢⎥⎢⎥⎣⎦(1) 求它们的乘积C 。

(2) 将矩阵C 的右下角3×2子矩阵赋给D(3) 查看MATLAB 工作空间使用情况。

Matlab数字信号处理实验报告

Matlab数字信号处理实验报告

数字信号处理实验报告基础实验篇实验一离散时间系统及离散卷积一、实验原理利用Matlab软件计算出系统函数的零极点分布、单位脉冲响应和系统频率响应等的图像并于笔算结果进行比较,找出异同。

编译合适程序能计算取值范围不同的离散卷积。

二、实验目的(1)熟悉MATLAB软件的使用方法。

(2)熟悉系统函数的零极点分布、单位脉冲响应和系统频率响应等概念。

(3)利用MATLAB绘制系统函数的零极点分布图、系统频率响应和单位脉冲响应。

三、实验步骤(1)自编并调试实验程序,并且,给实验程序加注释;(2)按照实验内容完成笔算结果;(3)验证计算程序的正确性,记录实验结果。

(4)至少要求一个除参考实例以外的实验结果,在实验报告中,要描述清楚实验结果对应的系统,并对实验结果进行解释说明。

四、实验源程序及实验结果a=[1,-1,0.9];b=1;x=chongji(-20,120);n=-20:120;h=filter(b,a,x);figure(1)stem(n,h);title('冲击响应');实验1-2运行结果b=[0.0181,0.0543,0.0543,0.0181];a=[1.000,-1.76,1.1829,-0.2781];w=pi*freqspace(500);H=freqz(b,a,w);MH=abs(H);AH=angle(H);subplot(2,1,1);plot(w/pi,MH);grid;axis([0,1,0,1]);xlabel('w(pi)');ylabel('|H|');title('幅度、相位响应');subplot(2,1,2);plot(w/pi,AH);grid;xlabel('w(pi)');ylabel('angle(H)');实验1-3运行结果n=0:30;%输入x(n)和冲激响应h(n) x=zeros(1,length(n)); h=zeros(1,length(n)); x([find((n>=0)&(n<=4))])=1; h([find((n>=0)&(n<=8))])=0.5;figure(1) subplot(3,1,1); stem(n,x);axis([0,30,0,2]); title('输入序列'); xlabel('n'); ylabel('x(n)');subplot(3,1,2); stem(n,h);axis([0,30,0,2]); title('冲激响应序列'); xlabel('n'); ylabel('h(n)');%输出响应y=conv(x,h); subplot(3,1,3); n=0:length(y)-1; stem(n,y);title('输出响应'); xlabel('n'); ylabel('y(n)');实验二 离散傅立叶变换与快速傅立叶变换一、 实验原理对有限长序列使用离散Fouier 变换(DFT)可以很好的反映序列的频谱特性,而且易于用快速算法在计算机上实现,当序列x(n)的长度为N 时,它的DFT 定义为()()[]()∑==-=1N n nk N W n x n x DFT k X 10-≤≤N k反变换为()()[]()∑==-=-101N n nkN W k X N k X IDFT n x 10-≤≤N n 有限长序列的DFT 是其Z 变换在单位圆上的等距采样,或者说是序列Fourier 变换的等距采样,因此可以用于序列的谱分析。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Matlab 第三次实验作业
-----------2015年11月17日星期二
班级:软件工程学号: E21314003 姓名:李世
1. 设计一个程序对“北京、上海、广州、深圳、南京、武汉、天津、重庆、成都、沈阳、杭州、合肥”12个城市进行随机排序。

代码:>>clear
>> a={'南京','武汉','天津','重庆','成都','沈阳','北京','上海','广州','深圳', '杭州','合肥'}; a(randperm(numel(a)))
ans =
Columns 1 through 11
'合肥' '广州' '天津' '深圳' '重庆' '北京' '武汉' '杭州' '上海' '沈阳' '南京'
Column 12
'成都
'
2. 根据下面函数表达式编写M 函数,分别计算x 在1,0,3
1
,1--处的函数值,并画出函数曲线图
⎪⎪⎪⎩⎪⎪⎪⎨⎧-<<≤-+
≥=-210
0212
102
1)(2x x x x e
x f x
>>clear
>> x=input('请输入变量值:');
if x>=0
f=0.5*exp((-0.5).*x)
else if -1/2<=x&&x<0
f=x+0.5
else
f=0
end
end
请输入变量值:-1
f =
>> 0
ans =
>> 1
ans =
1
>> -1/3
ans =
-0.3333
a=-3:0.01:-1/2;
b=0;
c=-1/2:0.01:0;
d=c+1/2;
e=0:0.01:3;
f=1/2*exp(-e/2); plot(a,b,c,d,e,f)
3.求[100,200]之间第一个能被13整除的整数。

>>clear
>> A=100:200;
i=find(mod(A,13)==0);
x=input('请输入你想查找的第n个能被13整除的数:');
if x>8
input('输入有误!')
else
A(i(x))
end
请输入你想查找的第n个能被13整除的数:4
ans =
143
4.求出斐波那契数列中第一个大于10000的元素及序号
A=[];
A(1)=1;
A(2)=1;
i=2;
while(A(i)<=10000)
i=i+1;
A(i)=A(i-1)+A(i-2);
end;
i
A(i)
i =
21
ans =
10946
5. 判断向量组]7,1,3,1[],9,8,2,5[],2,3,1,1[],2,3,1,1[4321-=-=--==a a a a 是否线性相关,如不相关,找
出其中最大线性无关组。

>> a1=[1,1,3,2];
a2=[-1,1,-3,2];
a3=[5,-2,8,9];
a4=[-1,3,1,7];
A=[a1;a2;a3;a4]
det(A)
B=transpose(A)
A =
1 1 3 2
-1 1 -3 2
5 -2 8 9
-1 3 1 7
ans =
-118
B =
1 -1 5 -1
1 1 -
2 3
3 -3 8 1 2 2 9 7。

相关文档
最新文档