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日

悬赏问题

  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 AT89C51控制8位八段数码管显示时钟。
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题