首页 > 解决方案 > 如何求解下面给出的方程

问题描述

我很难理解如何解决或解决这个问题。有人可以解释我如何求解差分方程并绘制相同的图。

标签: pythonmatlab

解决方案


绘制由差分方程建模的系统的输出

不确定您是否对使用内置函数有任何限制。要绘制由差分方程描述的系统的输出,filter()可以使用该函数。过滤器函数接受以下几个参数:

函数调用:

y = filter(Numerator,Denominator,x);

x→ 系统输入。
y→ 系统的输出。
Numerator→ 输出系数(y 系数)。
Denominator→ 输入系数(x 系数)。


绘制差分方程的输出

%Sinusoid frequency -> 500Hz%
f = 500;
Sinusoid_Period = 1/f;

%Sampling frequency -> 6000Hz%
Sampling_Frequency = 6000;
Sampling_Period = 1/Sampling_Frequency;

Start_Time = 0;
Number_Of_Cycles = 4;
Number_Of_Samples_Per_Period = Sinusoid_Period/Sampling_Period;
End_Time = Sampling_Period*Number_Of_Cycles*Number_Of_Samples_Per_Period;
t = (Start_Time: Sampling_Period: End_Time);

Sinusoid = @(t) sin(2*pi*f*t);
x = Sinusoid(t);
n = (0: length(x)-1);
subplot(2,1,1); stem(n,x); 
title("x[n] 500Hz Input Sinusoid Sampled at 6000Hz");
xlabel("Sample [n]"); ylabel("Magnitude");
xlim([0 length(x)]);


Numerator = [1 -2.56 2.22 -0.65]; %Output y coefficients%
Denominator = [1 0 0 1]; %Input x coefficients%
y = filter(Numerator,Denominator,x);
subplot(2,1,2); stem(n,y);
title("y[n] Output Signal From Difference Equation");
xlabel("Sample [n]"); ylabel("Magnitude");
xlim([0 length(x)]);

推荐阅读