wxmaxima,为什么我的功能集成不好?

问题描述 投票:0回答:0
jk_hermite(n,v):=expand((-1)^n * exp(v^2)*diff(exp(-v^2),v,n));

jk_prob1(k):=block( [],
 int1:integrate(abs(jk_hermite(k,x)*exp(-x^2/2))^2,x,minf,inf),
 b:sqrt(1/int1),
 int2:integrate(abs(jk_hermite(k,x)*b*exp(-x^2/2))^2,x,-sqrt(2*k+1),sqrt(2*k+1)),
 p:1-int2
);

这是一个程序(jk_prob1),它计算给定数字(k)的数字(p)。为 k<27 according to bibliography, but for higher k there is some problem probably with int2 integration.

工作正常

下面我们有一个列表 [ [k,jk_prob(k)], ...] 计算 k 在 0 到 35 之间。你可以看到积分在 k=27 后开始振荡。

这是我机器的算法问题还是 integration() 函数的问题?

(%i174) data1:makelist([k,jk_prob1(k)],k,0,35,1);
(%o174) [[0,0.1572992070502853],[1,0.1116102250947125],[2,0.09506943488572384],[3,0.08548286439326391],[4,0.07892635105633516],
[5,0.07403423706609669],[6,0.0701809281050576],[7,0.06703127879093984],[8,0.06438634028251189],[9,0.06211907732553879],[10,0.06014381448969242],
[11,0.05840025530396975],[12,0.05684448915503315],[13,0.05544362910545952],[14,0.0541724601132354],[15,0.05301126092266206],
[16,0.05194434169894979],[17,0.05095903331123497],[18,0.05004496080669607],[19,0.04919359561921899],[20,0.04839756630363612],
[21,0.04765147770002887],[22,0.04694842144159583],[23,0.04628695370710445],[24,0.04566365904566005],[25,0.04505081797459654],
[26,0.04457118540829141],[27,0.04373065855907632],[28,0.0441370340921643],[29,0.04112841762932007],[30,0.04805199290030093],
[31,0.0318955398934323],[32,0.0685550172107956],[33,-0.02410444428168423],[34,0.1631563092724104],[35,-0.2711053519616526]]

In graph you can see the results jk_prob1(k) according to k

我们预计结果会持续下降,但肯定不会震荡。

(%i176) build_info();
(%o176) build_info(version=
"5.46.0",timestamp=
"2022-04-13 23:24:03",host=
"x86_64-w64-mingw32",
lisp_name="SBCL",
lisp_version="2.2.2",
,maxima_frontend=
"wxMaxima",
maxima_frontend_version=
"22.04.0_MSW")

提前谢谢你。

integration maxima wxmaxima
© www.soinside.com 2019 - 2024. All rights reserved.