Matlab:测试系统是否是线性的

时间:2014-03-30 19:20:44

标签: matlab signal-processing

我有一个等式:y(n) = a^x(n)

其中x1(n) ={0,1,2,3}, x2(n)={1,2,3,4}, a1=a2=1, a=2

那么,我如何编写MATLAB代码来测试系统是否是线性的?

1 个答案:

答案 0 :(得分:3)

只需应用the definition

考虑系统S,使得输入到输入信号x(n)的是S(x(n))。当且仅当

时,S是线性的
  1. S(x1(n)+ x2(n))= S(x1(n))+ S(x2(n))对于任何输入x1,x2( additivity
  2. S(b * x1(n))= b * S(x1(n))对于任何输入x1和任何数字b(同质性
  3. 在你的情况下,很明显1和2都不成立,所以系统y(n)= S(x(n))不是线性的。

    使用代码对其进行测试:随机生成x1x2b的许多示例,并检查上述等式是否成立。请注意,这样您就永远无法确定系统是否是线性的。您只能确定不是,即当您发现{1}},x1x2时,其中1或2不成立。

    示例

    b

    由于结果不同,系统不满足属性1,因此它不是线性的。