首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >动画离散Stem图

动画离散Stem图
EN

Stack Overflow用户
提问于 2016-11-10 17:59:00
回答 1查看 358关注 0票数 0

所以我想要创建一个离散时间复指数函数的动画情节。最简单的非动画情节如下:

代码语言:javascript
复制
n=-5:40;
x=(exp((3*4j)*n)).*(n>=0);
y=real(x);
subplot(2,1,1);
stem (n,y)
z=imag(x);
subplot(2,1,2);
stem (n,z)

我如何动画它来显示在给定间隔内考虑的不同样本数的函数(假设我有一个由起始秒和结束秒指定的时间间隔,以及包含给定间隔中的样本值数目的向量)?

我试过这样做:

代码语言:javascript
复制
figure,hold on
xlim([min(x(:)) max(x(:))])
ylim([min(y(:)) max(y(:))])

%// Plot point by point
for k = 1:numel(x)
    stem (k,y) %// Choose your own marker here
    pause(0.001);     
end

那可不编译。如何做到这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-11 11:37:43

简短回答:

进行以下两项更改:

1xlim([min(x(:)) max(x(:))])替换为此xlim([1 numel(x)])

2stem (k,y)替换为:stem (k,y(k))

详细答案:

1 xlim([min(x(:)) max(x(:))])给出了以下错误:

代码语言:javascript
复制
Error using matlab.graphics.axis.Axes/set
While setting the 'XLim' property of 'Axes':
This is not a valid LimitsWithInfs value. Complex inputs are not supported

错误消息会准确地告诉您问题的所在。向量x包含复数。具有复数的时间轴也不意味着任何东西。

您似乎希望用以下内容替换这一行xlim([min(x(:)) max(x(:))])

xlim([1 numel(x)])

循环中的2stem (k,y)给出了以下错误:

代码语言:javascript
复制
Error using stem (line 46)
X must be same length as Y.

错误消息会准确地告诉您问题的所在。这里,k只是一个标量(1x1),而y是一个1x46向量。

因为您想逐点绘制y,所以将stem (k,y)替换为:stem (k,y(k))

完成上述修复后的输出:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40534148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档