Matlab 求解一对实(和交织)方程
我有一个一阶差分方程:Matlab 求解一对实(和交织)方程,matlab,difference-equations,Matlab,Difference Equations,我有一个一阶差分方程:y[n]=z0*[n-1]+x[n](2-3)。通常我们要做的是应用z变换,然后使用“过滤器”函数。但我的老师想用不同的方式: 在一阶差分方程(2-3)中,让yR[n]和yI[n] 表示y[n]的实部和虚部。写一双 表示yR[n]和yI[n]的实值差分方程 关于yR[n-1],yI[n-1],x[n]和r,cos m和sin m (我忘了提到,x[n]=G*dirac[n],其中G是一个复常数,这就是r,cos m和sin m的来源) 以下是我的结果(这是我能想到的最好的结
y[n]=z0*[n-1]+x[n](2-3)
。通常我们要做的是应用z变换,然后使用“过滤器”函数。但我的老师想用不同的方式:
在一阶差分方程(2-3)中,让yR[n]和yI[n]
表示y[n]的实部和虚部。写一双
表示yR[n]和yI[n]的实值差分方程
关于yR[n-1],yI[n-1],x[n]和r,cos m和sin m
(我忘了提到,x[n]=G*dirac[n],其中G是一个复常数,这就是r,cos m和sin m的来源)
以下是我的结果(这是我能想到的最好的结果):
那么下一个问题是:
编写一个MATLAB程序来实现这对实方程,并
使用该程序生成等式(2-3)的脉冲响应
对于r=1/2,m=0,m=pi/4。对于这两种情况,绘制真实部分
所获得的脉冲响应。与真实的部分进行比较
复杂递归的输出(2-3)
我不明白的是,除了应用z变换,然后使用“过滤器”功能,我还能如何做到这一点。我在网上查了一下,发现有一些关于状态空间形式的东西,但我不知道它是否相关。我也不想把解决方案放在一个银盘上交给我,我只是想知道如何解决它。多谢各位 你走在正确的轨道上。对于一个数字系统,如您所拥有的,您只需设置初始输入,然后运行程序。没有必要做任何花哨的事,你对这个问题想得太多了。换句话说,对于一个简单的函数,您可以这样做:
f(0)=1;
f(n)=a*f(n-1);
基本上,你可以循环一些范围(可能是20个点),其中f(n)查看前面的函数
对于您的函数,我怀疑您只是简单地将实部(yR[0]
)设置为1,yI[0]=0
,然后运行一段时间
我知道Matlab是基于1的,所以您可能希望实际将第一个值设置为1,但同样的原则也适用
f(0)=1;
f(n)=a*f(n-1);