Helper 傅立叶正弦级数问题:这种类型的变量不支持点索引

Helper 傅立叶正弦级数问题:这种类型的变量不支持点索引,helper,matlab-guide,continuous-fourier,Helper,Matlab Guide,Continuous Fourier,这是我的密码: clearvars; clc; close all; %Define the domain: l=1; %and consider, say, 4 periods x=linspace(-4,4); %Define the number of terms to consider n_tot=50; %Initialize the vectors containing each term of the series FSS_term_x=zeros(n_tot,length(

这是我的密码:

clearvars;
clc; 
close all;

%Define the domain: 
l=1;
%and consider, say, 4 periods
x=linspace(-4,4);
%Define the number of terms to consider
n_tot=50;
%Initialize the vectors containing each term of the series
FSS_term_x=zeros(n_tot,length(x));
%Loop to compute each term of the series up to n_tot
for n=1:n_tot
    %n-th term of the series for f(x)=x
    FSS_term_x(n,:)=((-2.*l.^2./n.pi).*cos(n.*pi)+2.*(l.^2)./(n.*pi).^2.*(cos(n.*pi)-1)).*sin(n.*pi.*x./l);
    %-2.*l./(n.*pi).*cos(n.*pi).*sin(n.*x.*pi/l);
end
%Add up all the terms of the series
FS_y=sum(FSS_term_x,1);
%Plot the series
figure
plot(x,FS_y)
下面是错误消息:

Dot indexing is not supported for variables of this type.

Error in untitled3 (line 16)
    FSS_term_x(n,:)=((-2.*l.^2./n.pi).*cos(n.*pi)+2.*(l.^2)./(n.*pi).^2.*(cos(n.*pi)-1)).*sin(n.*pi.*x./l);
发生这种错误是因为我试图绘制的傅里叶正弦级数是分段平滑的吗

任何反馈都将不胜感激

最好的

RK

for
循环中的表达式中缺少乘法(*)符号。它涉及rhs上括号内的第一个术语:在代码中,它表示
(-2.*l.^2./n.pi)
(注意末尾的
n.pi
),而它应该是
(-2.*l.^2./n.*pi)

因此,循环的
中的表达式应该是:

FSS_term_x(n,:)=((-2.*l.^2./n.*pi).*cos(n.*pi)+2.*(l.^2)./(n.*pi).^2.*(cos(n.*pi)-1)).*sin(n.*pi.*x./l);
    %-2.*l./(n.*pi).*cos(n.*pi).*sin(n.*x.*pi/l);