查看: 375  |  回复: 0

六月的兔子

金虫 (小有名气)

[求助] 求助高斯积分的程序

图中的式子如果用高斯积分计算最后的结果,程序运行一直错误,各位大神帮我看一下该怎么改程序
function y=gaussf(x)
m=0;
sym x;
for j=1:inf
m= m+(1/j)*(sin(3.14*j)-sin(2.86*j))*cos(3.14*j)*exp(-0.00001247*x*j^2
end;
y=exp(-0.21*x-((15060-0.127*x)^2)/(2.286*x))*(0.089+0.6369*m))/(x^(-1.5));

function s=IntGauss(a,b)
ta=(b-a)/2;
tb=(a+b)/2;
s=ta*(0.2955242247*subs(sym(gaussf),findsym(sym(gaussf)),ta*0.148874339+tb)+0.2955242247*subs(sym(gaussf),findsym(sym(gaussf)),-ta*0.148874339+tb)+0.2692667193*subs(sym(gaussf),findsym(sym(gaussf)),ta*0.4333953941+tb)+0.2692667193*subs(sym(gaussf),findsym(sym(gaussf)),-ta*0.4333953941+tb)+0.2190863625*subs(sym(gaussf),findsym(sym(gaussf)),ta*0.6794095683+tb)+0.2190863625*subs(sym(gaussf),findsym(sym(gaussf)),-ta*0.6794095683+tb)+0.1494513492*subs(sym(gaussf),findsym(sym(gaussf)),ta*0.8650633667+tb)+0.1494513492*subs(sym(gaussf),findsym(sym(gaussf)),-ta*0.8650633667+tb)+0.0666713443*subs(sym(gaussf),findsym(sym(gaussf)),ta*0.9739065285+tb)+0.0666713443*subs(sym(gaussf),findsym(sym(gaussf)),-ta*0.9739065285+tb));

运行结果的程序:
for i=1:1000
t=365*i;
s(i)=IntGauss(0,t);
d(i)=349903.14*s(i);
end

错误提示:
??? Input argument "x" is undefined.

Error in ==> gaussf at 5
y=exp(-0.21*x-((15060-0.127*x)^2)/(2.286*x))*(0.089+0.6369*(m+(1/j)*(sin(3.14*j)-sin(2.86*j))*cos(3.14*j)*exp(-0.00001247*x*j^2)))/(x^(-1.5));

Error in ==> IntGauss at 4
s=ta*(0.2955242247*subs(sym(gaussf),findsym(sym(gaussf)),ta*0.148874339+tb)+0.2955242247*subs(sym(gaussf),findsym(sym(gaussf)),-

求助高斯积分的程序
Z6$0HC1X}X4_4{`XWU6R683.jpg
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

智能机器人

Robot (super robot)

我们都爱小木虫

相关版块跳转 我要订阅楼主 六月的兔子 的主题更新
信息提示
请填处理意见