- In “impulse(c2d(tf([1],[1 0 0]),1),10)”, the function is called with a time vector of 10 samples thus impulse is computed at these specific points.
- But in case of “impulse(c2d(tf([1],[1 0 0]),1))”, the function is called without a time vector, so MATLAB automatically determines the time vector based on system dynamics.
- So, when you specify 10 samples the time vector might not include a point at exactly t=1 so it might be interpolating between points, whereas MATLAB’s default time vector includes more points and might exactly capture the impulse response.
impulse(c2d(tf([1],[1 0 0]),1),10)与impulse(c2d(tf([1],[1 0 0]),1))的输出结果不同, 在t=1时候前者为0.5而后者为1?为什么?
2 次查看(过去 30 天)
显示 更早的评论
impulse(c2d(tf([1],[1 0 0]),1),10)与impulse(c2d(tf([1],[1 0 0]),1))的输出结果不同, 在t=1时候前者为0.5而后者为1?求各位大佬解答!
0 个评论
回答(1 个)
Suraj Kumar
2024-8-6
Hi Qu Tianxiang,
From what I gather, you are trying to understand the reasoning behind the difference between the outputs of MATLAB commands “impulse(c2d(tf([1],[1 0 0]),1),10)” and “impulse(c2d(tf([1],[1 0 0]),1))” at t=1.
Let us understand the working of both the functions in detail:
Refer to the output below for a better understanding:
For more details on the “impulse” function in MATLAB, you can refer to the documentation below:
Hope this is helpful!
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Big Data Processing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!