hujunhua
发表于 2010-7-9 09:43:48
方程的最高系数呈等差数列趋势,应该是方程的次数。
搞个s-n的拟合曲线,找个比较好的拟合公式看看如何?
mathe
发表于 2010-7-9 10:09:36
我前面的解方程程序效率有点低,改一个高效点的算法
f0(x)=
{
(sqrt(x^4+x^2-1)+x)/(x^2-1)
}
d0(x,n)=
{
local(y,s);
y=f0(x);
s=(x+(n-1)*y)/n;
(n-1)*log(y+1/y)+log(x+1/x)-n*log(s+1/s)
}
sf2(n)=
{
local(x,r,y);
r=getub(n);
x=solve(X=r,r,d0(X,n));
y=f0(x);
(x+(n-1)*y)/n
}其中getub只是用来估计解的一个范围,前面代码里有,最主要是d0函数和f0函数,这里都贴出来了。
可以看出,结果应该是一个代数数,但是它的极小方程还是比较复杂的
wayne
发表于 2010-7-9 10:15:41
42# mathe
嗯,是很复杂,昨晚我为了得到一般方程,都搞的没睡个好觉了
wayne
发表于 2010-7-9 10:16:54
41# hujunhua
拟合太经验了,只有经验丰富的人才有可能出奇制胜。
大大你给一个公式模型,我来拟合?
hujunhua
发表于 2010-7-9 11:26:27
根据wayne的2~12的数据截取5位小数画的折线图,看其走势。再加上mathe的20,100,1000的数据(取3位小数,好浪费哦:L )
wayne
发表于 2010-7-9 17:09:24
45# hujunhua
:victory:
拟合s-n比较难,但给出曲线的走势还是可以的。
我们知道,s其实就是下列方程组的解:
x + (n - 1) y = n s
x^2 y^2 = (x + y)^2 + 1
(s + 1/s)^n = (x + 1/x) (y + 1/y)^(n - 1)
对于给定的n,此方程组是多项式形式的,有代数数解。
但从一般性的角度来讨论的话,n待定,此方程组就含有指数成分,是非线性的,这就是为什么我们一直找不出s(n)的一般解的原因。
要描述s-n的走势,即 n很大时曲线的形状,可以做一些特殊处理:
当n都很大时,x很大,y接近于1,上述方程组其实就是:
x+n=ns
(s + 1/s)^n= (x + 1/x)*2^(n - 1)
消去x得到:
n (2 - 2 s) ((s^2 + 1)/(2 s))^n + n^2 (1 - 2 s + s^2) == -1
这就是s-n的走势曲线
mathe
发表于 2010-7-9 18:06:24
上面的方法是不行的。我估计$s~=1+c*sqrt{{log(n)}/n}$
mathe
发表于 2010-7-9 18:22:26
其实x,y的关系说明$(x-1)(y-1)->1$
然后约束条件$x+(n-1)y=ns$说明$1<y<s$于是推出$(n-1)(s-y)(y-1)->1$
这里我们已经大概知道$s-y$和$y-1$都应该近似为$1/{sqrt{n}}$
记$u=s-1>v=y-1$,我们知道$n uv->1$,而且$2(1+u^2/2)^n~=1/v(1+v^2/2)^n$
或者说近似于$2v~=(1-{u^2-v^2}/2)^n~=exp(-{n(u^2-v^2)}/2)$
于是u,v都接近$c/{sqrt{n}}$而且$u^2-v^2$接近${log(n)}/n$
s仅仅接近$1+c/{sqrt{n}}$还是不够的,我们可以微调到上一楼的结果。
wayne
发表于 2010-7-10 15:19:43
45# hujunhua
再多给点数据,精确到最后一位:
{3, 2.00286740806350017941198515943545931361}
{4, 1.9283589164749804283600849366519560639}
{5, 1.86400765000052485077735500471126683613}
{6, 1.81051438122816316692944707545183728148}
{7, 1.76578235001873982989444491931146614181}
{8, 1.72786431204913392367633970225491638819}
{9, 1.69526942444040933881970369205445408976}
{10, 1.66689198313550214392865903283543517526}
{11, 1.64190904616094851366101664075402220374}
{12, 1.6196998599244209974512574541584287912}
{13, 1.59978869842201869056004669676183358389}
{14, 1.58180517574496658723209695065387815411}
{15, 1.56545660481407284533740801524947779306}
{16, 1.55050851817644197976392356354789658309}
{17, 1.5367707372478112927676021766159055014}
{18, 1.52408725542126641935994748503824288176}
{19, 1.51232877977090028689582251305994783841}
{20, 1.50138715374182425550739674900868882105}
{21, 1.49117113037198696816232030789158595774}
{22, 1.481603128981051478805513257481434365}
{23, 1.47261671766567601608562219697005149641}
{24, 1.46415463821023838316030988522039252819}
{25, 1.45616724114422507854121331602445094798}
{26, 1.4486112343465122080296824494356282472}
{27, 1.44144867381000076000046233040898435983}
{28, 1.43464614322487864607990982178408997221}
{29, 1.42817408210585004403922210801221054461}
{30, 1.4220062317567129945412344765141001355}
{31, 1.41611917544533369254102429082160513084}
{32, 1.41049195445244880077344760779527345639}
{33, 1.4051057456479795593700060551553949446}
{34, 1.39994358928469090337863094895696596845}
{35, 1.39499015802841523529377394252379049117}
{36, 1.39023156004523883530353774388849366078}
{37, 1.38565517036913390218387987164360902442}
{38, 1.38124948587417599494888974270272683602}
{39, 1.37700400004464983512682767443775686515}
{40, 1.37290909442703835047823373266554024708}
{41, 1.36895594420004818247311699643331377899}
{42, 1.36513643574275156839766072988517148305}
{43, 1.36144309443977055373412981089021928638}
{44, 1.35786902125399984336720056851594591129}
{45, 1.35440783683543930473427573602498607559}
{46, 1.3510536321300155887091520853891945445}
{47, 1.34780092461321684380654451302931688756}
{48, 1.34464461940656131097555379617152740538}
{49, 1.34157997464560704966451256923364150444}
{50, 1.33860257056055295892954001842319703868}
hujunhua
发表于 2010-7-10 16:43:53
我没带本本,前图是用wolframalpha做的,命令不能太长,所以只能使用少量数据和很小的精度。