N=4000,q=0.98for n=1:N; for i=1:n; j=i-1;if j<=0 a(i,n+1)=n^(q+1)-(n-q)*(n+1)^q; else a(i,n+1)=(n-j+2)^(q+1)+(n-j)^(q+1)-2*(n-j+1)^(q+1); end endend
问题在这一句 for j=0:n-1;MATLAB规定数组下标从1开始, 改成for j=1:n 后面的数组下标,计算式子都要做相应的调整