Micokery九九 2022-12-19 16:53 采纳率: 91.7%
浏览 247
已结题

matlab中的冲激信号怎样表示

img



a = [1 3 2];         %将y(t)各阶导数的系数放在向量a中
b = [2 6];           %将f(t)各阶导数的系数放在向量b中
sys = tf(b,a);       %求系统模型sys
td = 0.01;          %定义时间间隔
t = 0 : td : 10;      %定义时间向量
f = ones(1,length(t));   %将f(t)表示出来
figure(1)
y = lsim(sys, f, t);  %求系统的零状态响应
subplot(2,1,1);plot(t,y);title('零状态响应');
xlabel('t(sec)');
ylabel('yzs(t)');%绘出零状态响应的波形
grid on            %在图上显示方格
subplot(2,1,2);
step(sys,t);title('阶跃响应');       %计算阶跃响应并绘制波形
xlabel('t');      %给出x坐标的标签
ylabel('g(t)');   %给出y坐标的标签
grid on           %在图上显示方格

两个问题:
1:请问上面我写的输入信号-阶跃信号写错没有,有没有其他更好的写法?
2:请问下一问中matlab输入信号为冲激信号怎样表示,我查了一下大部分是用函数,但我想请问一下这里能不能像表示阶跃信号的形式来表示冲激信号;例如f(t)=exp(-t)还有就是我上面写的那个阶跃信号?
第一次学用matlab,多有不懂,请大家不吝赐教!

  • 写回答

3条回答 默认 最新

  • ShowMeAI 2022-12-19 17:13
    关注

    望采纳。

    • 在你的代码中,输入信号f(t)是一个阶跃信号,所以写法没有问题。阶跃信号在 Matlab 中可以用一个全部元素都是1的向量来表示,如你写的 f = ones(1,length(t))。你也可以使用 f = step(t) 来表示阶跃信号。

    • 冲激信号在 Matlab 中也可以用一个向量来表示,你可以使用 f = [1, zeros(1, length(t)-1)] 来表示一个单位冲激信号,即在 t=0 时,输入信号f(t)=1,其余时刻f(t)=0。你也可以使用函数来表示冲激信号,例如 f = exp(-t)。

    • 注意,在使用 lsim 函数计算系统的零状态响应时,需要保证输入信号f(t)是时间连续的,否则可能会得到错误的结果。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月22日
  • 已采纳回答 12月22日
  • 创建了问题 12月19日

悬赏问题

  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值