为什么积分积出来复数,程序怎么修正??
%funtion f;clear;
N=10;
for j=0:N;
fun=inline('(1./(2.*sqrt(pi.*(s-0.1.*j)))).*exp(-1./(4.*(s-0.1.*j))).*(exp(0.9983.*s-1)-0.5.*exp(s-1).*(1+erf(-sqrt(s)+1./(2.*sqrt(s)))))','s');
B(j+1)=quad(fun,0.1*j,1);
end 这是由你的函数和参数决定的,不存在修正的问题.
-----不过, 将问题背景讲一下, 或许别人还能给些建议. 我运行后,出现了警告
Warning: Divide by zero.
> In inlineeval at 13
In inline.subsref at 25
In quad at 62
Warning: Minimum step size reached; singularity possible.
> In quad at 88
建议选择 其他的积分函数。 Divide by zero.--- 可以加eps消除;
关键是问题背景不清楚,所以问题很难猜测该如何进一步解决.
页:
[1]