matlab无穷级数的计算
clc;
clear;
syms w1 w2 n a;
i=0;
for a=0:pi/18:2*pi;
i=i+1;
w1=cos(2*n*pi/6)*cos(2*n*a)/((4*n^2-1)^2);
w2=cos(2*n*pi/6)/((4*n^2-1)^2);
S1=symsum(w1,n,1,inf);
S2=symsum(w2,n,1,inf);
S(i)=S1/S2
end
plot(a,S(i)) 展开
matlab无穷级数的计算,可以用 S1=symsum(w1,n,1,inf) 来计算。但实际操作是可以灵活应用,可以把无穷大inf近似看作某一数值,例如1000或10000。
首先,我们来验证一下,当a=pi/18,n1=100
a=pi/18;n1=100;
w1=cos(2*n*pi/6)*cos(2*n*a)/((4*n^2-1)^2);w2=cos(2*n*pi/6)/((4*n^2-1)^2);
S1=symsum(w1,n,1,100);S2=symsum(w2,n,1,n1);
w=double(S1/S2)
运行结果,w=0.9535
n1=1000时,运行结果,w=0.9535
从上面可以,看到对于本例,完全可以视1000为 inf
所以代码,可以改写为
clc;clear;
syms n
i=0;
for a=0:pi/18:2*pi;
i=i+1;
w1=cos(2*n*pi/6)*cos(2*n*a)/((4*n^2-1)^2);
w2=cos(2*n*pi/6)/((4*n^2-1)^2);
S1=symsum(w1,n,1,1000);
S2=symsum(w2,n,1,1000);
S(i)=double(S1/S2);
end
a=0:pi/18:2*pi;
plot(a,S) %这里不要用S(i)