绘制序列之和

时间:2018-11-11 00:23:51

标签: matlab plot matlab-figure matlab-guide

我使用此代码,但我不知道解决该问题需要什么:

    syms x k t
    for t=0:10
    num=((-1)^k)/k
    t1=sin(8*3.1415*k*t)
    S1=symsum((num*t1),k,1,2);
    x=0.5-((1/3.1415)*S1);
    end
 Plot(x)

在x轴上显示时间,在y轴上显示四个周期的函数。

当我尝试运行代码时,出现以下错误:

  

类型为'double'的输入参数的未定义函数'symsum'。

也许我不能在参数类型中使用symsum,但是我可以使用另一个函数吗?总和也无效:

  

使用sum Dimension参数的错误必须是索引范围内的正整数标量。

1 个答案:

答案 0 :(得分:0)

由于要绘制x(t),因此需要使用plot(t,x),其中tx是向量。

不用for t=0:10,而让t=0:10并计算相应的x

此外,符号变量仅为k

syms k 
t=0:10;
num=((-1)^k)/k;
t1=sin(8*3.1415*k*t);
S1=symsum((num*t1),k,1,2); 
x=0.5-((1/3.1415)*S1); 

plot(t,x) 

请注意,如果让t=0:10,则sin(8*k*pi*t)将始终为0,因为t是从0到10的整数的向量。{{1的结果}}将为5:

x(t)时输出: enter image description here

如您所见,t=0:10的值非常接近。从理论上讲,它们应该全部为5。但是有些数值近似会导致较小的误差。

您可能需要非整数x(t)。这是t时的输出 enter image description here