对于这个函数StruveH0自己定义.m文件:
function y=StruveH0(z)

    m=[];
    for[color=FF0000] k=0:20                [/color]%%%%%%%%%%%%%%%% k=0,1,2,3....
    q=(((-1)^k)/(prod(1:2:2*k+1))^2)*(z^(2*k+1));
    m=[m,q];
   end
    y=(2/pi)*sum(m);

下面是通过plot画这个H0函数的.m文件:
syms  a1;
Y=[];
for [color=FF0000][color=000000][color=FF0000][color=808000][color=00FF00]a1=0:17[/color][/color][/color][/color][/color]
    w=StruveH0([color=FF00FF]a1[/color]);
    Y=[Y w];
end
figure(1)
plot(Y)

a1代表StruveH0函数里的自变量z
现在可以顺利运行,可就是出了问题
1,虽说K的取值上限是无穷,那我们可以先任意取个值试试,结果随着K的增大,反而StruveH0的图形发生变形,可越大,StruveH0还会出现NAN(非数值)。
2,假定K去30,(我发现最好的取值),a1最多取到24,要不然往后StruveH0就会发生突变,再也不是衰减的了。
3.[color=FF0000]理论上StruveH0这个函数应该是0-inf衰减的。可真正用公式表示出来后,发现只能在0-20衰减。[/color]
请教!!!谢谢。。我已经快抓狂了,不知如何是好!