MATLAB实验报告

更新时间:2023-10-01 06:11:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

matlab基础与应用

实验报告

院系名称 学生学号 学生姓名 专业方向

自动化科学与电气工程学院

2015年4月

第一部分、matlab基础练习

1.

使用Matlab得到以下除法的商和余数:

14x3?6x2?3x?9 *2.8x?5.12,50.04x?11.48

25x?7x?4指令:

a=[14 -6 3 9]; b=[5 7 -4]; [d,r]=deconv(a,b)

结果:

d =

2.8000 -5.1200 r =

0 0 50.0400 -11.4800

2. 使用Matlab计算下式在x?5处的值:

8x3?9x2?7 *0.5553

3210x?5x?3x?7指令:

syms x;

y=(8*x^3-9*x^2-7)/(10*x^3+5*x^2+3*x-7); subs(y,x,5)

结果:

ans = 256/461

3. 假设x??10,?2,6,5,?3?且y??9,?3,2,5,?1?,通过手算得到以下运算的结果,并使用

Matlab检验计算的结果。 a) b) c) d)

z??x?6? *(a)z??0,1,0,1,1? z??x??y? *(a)z??0,0,0,1,1? z??x??y? *(a)z??0,0,0,1,0? z??x~?y? *(a)z??1,1,1,0,1?

指令:

x=[10 -2 6 5 -3]; y=[9 -3 2 5 -1]; z1=(x<6)

z2=(x<=y) z3=(x==y) z4=(x~=y)

结果: z1 =

0 1 0 1 1 z2 =

0 0 0 1 1 z3 =

0 0 0 1 0 z4 =

1 1 1 0 1

4. 假设x???3,0,0,2,5,8?且y???5,?2,0,3,4,10?,通过手算得到以下运算的结果,并使

用Matlab检验计算的结果。 a) b) c) d)

z?y?~x *(a)z??1,1,1,0,0,0?

z?x&y *(b)z??1,0,0,1,1,1?

z?x|y *(c)z??1,1,0,1,1,1? z?xor(x,y) *(d)z??0,1,0,0,0,0?

指令:

x=[-3 0 0 2 5 8]; y=[-5 -2 0 3 4 10]; z1=(y<~x) z2=(x&y) z3=(x|y) z4=xor(x,y)

结果: z1 =

1 1 1 0 0 0 z2 =

1 0 0 1 1 1 z3 =

1 1 0 1 1 1 z4 =

0 1 0 0 0 0

5. 在Matlab中使用一个循环确定:如果用户最初在一个银行帐户中存储$10000,并且在

每年的年终再存储$10000(银行每年支付6%的利息),那么账户上要积累$1000000需要多长时间。 *33年

指令:

x = 10000; %初始存款 n = 0;

while x < 1000000 n = n + 1;

x = 1.06*x + 10000; %原有存款+利息+新增本金 end disp(n)

结果: 33

6. 多项式的根出现在工程应用中,例如,电路设计和结构震动。通过绘制多项式的图形,

可以找出以下多项式方程在范围?10?x?10内的实根:

4x5?3x4?95x3?5x2?10x?80?0*x=1,x=4.5 指令:

p=[4 3 -95 5 -10 80]; x=-10:10; figure;

plot(x,polyval(p,x)) r=roots(p)

结果: r =

-5.3094 + 0.0000i 4.4740 + 0.0000i 0.9461 + 0.0000i -0.4303 + 0.8395i -0.4303 - 0.8395i

其中[-10,10]范围内实根有-5.3094,4.4740,0.9461 图像如图1所示:

图 1

7. 使用消去变量法,并通过手算来求解以下问题的解:

6x?3y?4z?41 *x=2,y=-3,z=5

12x?5y?7z??26 ?5x?2y?6z?14

指令:

A = [6,-3,4; 12,5,-7; -5,2,6]; B = [41;-26;14]; X = A\\B

结果: X = 2 -3 5

8. a)使用Matlab求解以下方程的解,x、y和z是参数c的函数:

x?5y?2z?11c *x=3c,y=-2c,z=c 6x?3y?z?13c 7x?3y?5z?10c

b)在同一张图上绘制解x、y和z相对于c的绘图,其中,?10?c?10。

指令:

syms c,x1,x2,x3; A = [1,-5,-2; 6,3,1; 7,3,-5];

B = [11*c;13*c;10*c]; X = A\\B figure; c=-10:1:10; x1=X(1,1); x2=X(2,1); x3=X(3,1);

plot(c,subs(x1,'c',c),c,subs(x2,'c',c),c,subs(x3,'c',c))

结果: X = 3*c -2*c c

在c?[?10,10]范围内作出x1,x2,x3关于c的图像,如图2所示:

图 2

9. 使用Matlab求解以下问题的解:

7x?9y?9z?22 *不唯一解x?1.38z?4.92,y??0.077z?1.38 3x?2y?4z?12 x?5y?z??2

指令:

A = [7,9,-9; 3,2,-4; 1,5,-1]; b = [22;12;-2];

x0=A\\b %求非齐次方程Ax=b的特解 x1=null(A) %求齐次方程Ax=0通解

结果: x0 =

0.6412 -1.1467 -3.0924 x1 =

-0.8099 0.0450 -0.5849

其中x0为非齐次方程的特解,x1为齐次方程通解,最终解为X=x0+kx1

10. 某个物体在t=2秒时以速度v(t)?5?7t从位置x(2)?5处开始移动,确定其在=10

秒时的位置。 *2360

2指令:

syms x_10,v,t,x,x1,c;

v=5+7*t^2; x=int(v);

c=5-subs(x,t,2); %求积分常数c x1=x+c;

x_10=subs(x1,t,10)

结果: x =

(7*t^3)/3 + 5*t x1 =

(7*t^3)/3 + 5*t - 71/3 x_10 = 7079/3

11. 以速度v(0)m/s垂直上抛一个球。它的测量高度是一个时间的函数:h(t)?6t?4.9t,

确定它的初速度。 *6m/s

2指令:

syms v0,h,v,t; h=6*t-4.9*t^2; v=diff(h); v0=subs(v,t,0)

结果: v =

7*t^2 + 5 v0 = 6

12. 使用Transfer Function模块构建一个Simulink模型来绘制以下方程的解图形,其中,

0?t?4。

??12x??10x?5us(t)?5us(t?2)x(0)?x?(0)?0 2?xsimulink模型构建如图3所示:

图 3

输出图像如图4所示,即方程解的图形:

图 4

第二部分、matlab课程论文

matlab基础与应用 综合总结报告

--matlab在信号分析中的的应用

摘要 信号与测试技术是我们系本学期的一门专业课,其主要内容包括测试信号

分析基础,测试系统的特性及其数据处理,常见物理参数的测量方法等。其中信号分析是工程测试的核心内容之一,信号分析的目的主要包括研究信号的特征及其随时间变化的规律,信号的构成,信号随频率变化的特征等。matlab是信号分析的强有力的工具,在信号分析中有着广泛的应用。本报告介绍了用matlab对一些典型信号的时域和频域分析方法以及自相关和互相关分析。 关键词 matlab 信号分析 时域 频域 自相关 互相关

一、信号分析的基本原理

1.信号的时域和频域转换。在本次实验中采用离散傅里叶变换(DFT)的方法,在MATLAB中用其快速算法,即快速傅里叶变换(FFT)实现。

离散傅里叶变换公式:

kn?jX(k)?DFT[x(n)]?x(n)W?NNW?en?0,N

N?12?2.信号相关性。相关是用来描述一个随机过程自身在不同时刻的状态间,或者两个随机过程在某个时刻状态间线性依从关系的数字特征。

自相关函数定义为:

Rxx(?)?lim1T??T?T0x(t)x(t??)dt

互相关函数定义为:

Rxy(?)?lim1T??T?T0x(t)y(t??)dt

二、典型信号的频谱分析

1.正弦信号(y=sin(2*pi*50*t)):

取时域抽样频率fs=1000Hz,时域波形范围[0,0.1],因此时域抽样点数应为0.1/(1/1000)=100,即离散时间信号样本数N=100,离散频率样本数应大于离散时间样本数。此处利用2的整数次幂个样本来计算DFT的快速算法,称为基2时间分解FFT。取离散频率样本数N1=29=512。

对离散时间信号做FFT后幅值应除以N1/2,得到的幅值才与时域中的正弦信号幅值相等。图中时域信号幅值为1,频率f=50Hz。在幅频特性图上,频率点f=48.83Hz处得最大幅值0.9888。则频率误差ηf=2.34%,幅值误差ηA=1.12%。

m语言指令如下:

fs=1000; %sample frequency 1000Hz det=1/fs; ?uracy of axis t t=0:det:0.1; %time scale y=sin(2*pi*50*t); %sine signal subplot(2,1,1)%1st figure

plot(t,y) %sine figure of time scale xlabel('t/s') ylabel('y')

title('y=sin(2*pi*50*t)') N=512;

Z=fft(y,N); ?t of 512 spots Y=abs(Z)/50; %amplitude of Z f=fs*(0:N/2)/N; subplot(2,1,2) plot(f,Y(1:N/2+1)) xlabel('f/Hz') ylabel('Z') title('Z=fft(y)')

2.方波信号(y=square(2*pi*50*t)):

采用与正弦信号类似的分析方法,得到方波信号的幅频特性如上图所示。可

见在频率f=50,150,250,350,450...Hz附近有谐振峰值,即对应了方波的傅里叶级数展开中基频的奇次谐波分量。原方波信号幅值为1,傅里叶级数展开后k次谐波对应幅值Ak=4/(kπ)。频率点f=48.83Hz处幅值1.275,实际幅值为4/π=1.273,幅值误差ηA=0.157%。

以下信号的分析方法与正弦、方波信号类似。 m语言指令如下:

fs=1000; %sample frequency 1000Hz det=1/fs; ?uracy of axis t t=0:det:0.1; %time scale

y=sawtooth(2*pi*50*t); %saw signal subplot(2,1,1)%1st figure

plot(t,y) %saw figure of time scale axis([0,0.1,-1.5,1.5]) xlabel('t/s') ylabel('y')

title('y=sawtooth(2*pi*50*t)') Z=fft(y,2048); ?t of 256 spots Y=abs(Z); %magnitude of Z f=fs*(0:1024)/2048; subplot(2,1,2) plot(f,Y(1:1025)/100) xlabel('f/Hz') ylabel('Z') title('Z=fft(y)')

3.锯齿波信号(y=sawtooth(2*pi*50*t))(m语言指令略):

4.随机噪声(y=randn(size(t))):

5.阶跃信号(y=stepfun(t,t0)):

6.不同频率正弦信号的叠加

(y=sin(2*pi*50*t)+0.5*sin(2*pi*100*t)+2*sin(2*pi*120*t)):

从FFT得到的幅频特性图像上看到,三个叠加的正弦信号在f=50,100,120Hz,即每一单独正弦信号的频率点附近有谐振峰值,且幅度之比为1:0.5:2,与原单独正弦信号幅值之比相等。

7.正弦基波及谐波叠加合成方波(

f(t)?4A1111(sinwt?sin3wt?sin5wt?sin7wt?sin9wt?...)?3579):

由图像可见,正弦基波及奇次谐波按傅氏级数叠加可以合成方波,叠加的谐波次数越多,越接近方波。

m语言指令如下:

f1=50; %frequency of fundamental wave y=0;

t=0:0.0001:0.2; for i=1:2:9

y=y+4/pi*sin(2*pi*f1*i*t); subplot(5,1,(i+1)/2) plot(t,y)

axis([0,0.2,-5,5]) xlabel('t/s') ylabel('y')

title('fundamental+harmonic') end

三、信号的相关性分析

1.正弦信号的自相关运算(y=sin(2*pi*0.1*t)):

对正弦信号进行抽样后,用函数[a,b]=xcorr(y,'unbiased')对信号进行自相关运算。

A2cos??,是与原信号同频的余正弦信号y?Asin(?t)的自相关函数为Rx(?)?2A2弦函数,幅值为。从自相关函数图像上得到?=0,±10,±20,±30...时,幅值均约

2为0.5。

m语言指令如下: dt=0.1; t=0:dt:100;

y=sin(2*pi*0.1*t); subplot(2,1,1) plot(t,y) xlabel('t/s') ylabel('y') title('sine')

[a,b]=xcorr(y,'unbiased'); subplot(2,1,2) plot(b*dt,a)

title('self relativity') axis([-50,50,-1,1.5])

2)白噪声信号的自相关运算(y=randn(size(t))):

噪声的自相关函数在t=0时,取得最大值,在t不等于0时迅速减小。这说明随机

噪声信号随着延迟的增加,自相关函数将减小到零。也验证了,一个信号“自己和自己”最相关。从图中可以看出自相关函数是偶函数。 m语言指令如下: dt=0.1; t=0:dt:100;

y=randn(size(t));

subplot(2,1,1); plot(t,y); xlabel('t/s') ylabel('y') title('rdm')

[a,b]=xcorr(y,'unbiased'); subplot(2,1,2); plot(b*dt,a);

title(' self relativity ') axis([-50,50,-1,1.5])

3)正弦与白噪声信号叠加后的自相关运算(m语言指令略)

由下图可知,延迟时间越长,随机噪声自相关函数减小到零。在一定延迟时间后,被干扰信号的自相关函数就只保留周期信号的信息,排除了干扰。可利用这一性质检测淹没在随机噪声中的周期信号。

4)同频周期信号的互相关运算(y1=sin(2*pi*0.1*t),y2=2*sawtooth(2*pi*0.1*t)):

由两同频率信号互相关运算后得到信号图像可见,同频率的周期信号,互相关函数也是周期的,保留了两个信号的频率、幅值和相位差信息。 m语言指令如下: dt=0.1; t=0:dt:100;

y1=sin(2*pi*0.1*t);

y2=2*sawtooth(2*pi*0.1*t);

本文来源:https://www.bwwdw.com/article/29vd.html

Top