这是程序
k=50;
h=0.01;
n=10;
Z=zeros(1,n);
for i=1:n
if i==1
Z(1,i)=cos(k*h)-1;
end
if i>1&&i<=n
Z(1,i)=Z(1,i-1)+(-1)^(i)*(k*h)^(2*(i-1))/factorial(2*i-2);
end
end
syms x;
f=sin(x);
D=zeros(1,n);
for j=1:n
D(1,j)=Z(1,j)/(k^(2*i))*diff(f,2*j-2);
end
sum(D)
然后会出现报错
*>> F
从 sym 转换为 double 时出现以下错误:
Unable to convert expression into double array.
出错 F (line 17)**
D(1,j)=Z(1,j)/(k^(2*i))*eval(diff(f,2*j-2));