:ʽԤ

ʽ:
[a,b,er]=RationalFit(x,y,m,n)
[a,b,er]=RationalFit(x,y,m)
[a,b,er]=RationalFit(x,y)

x:,洢ҪϵԱ
y:,洢Ҫϵ
m:ϵaߴ,ĬΪ4
n:ϵbߴ,ĬΪ4

a:ص
b:ص
er:صϲв

˵:

1޷ȷһЩʽʽʱ,ʽϵ,Ȼϳϵ

2RationalFit(x,y,m)=RationalFit(x,y,m,m)

3xy±ʽ,Ȼϳϵab

   y = ( a[0]+a[1]*x+a[2]*x^2++a[m]*x^m ) / ( b[0]+b[1]*x+b[2]*x^2++b[n]*x^n )

4ʹñ㷨,Ҫע,ϵĴmnܸʱ,xǷȽϴ,ȽϴʱܻʹϵõĽһӰ,ʱxyݽӦٴ뱾ϡ


ԭ:

1 xy ¹ϵ

 y = ( a[0] + a[1]*x + a[2]*x^2 +  + a[m]*x^m ) / ( b[0] + b[1]*x + b[2]*x^2 +  + b[n]*x^n )

2ݹϵʽ֪,abͬʱһΪ0,xyӰ,ΪĹϵ,bеһΪ0,Ϊb[k],ϵʽɱʾ(b[k]=1)

y = ( a[0] + a[1]*x + a[2]*x^2 +  + a[m]*x^m ) / ( b[0] + b[1]*x + b[2]*x^2 +  + x^k + + b[n]*x^n )

3ڱʽеĸΪ0ʱ,ͬʱұߵķĸԵõ

y*x^k = a[0] + a[1]*x + a[2]*x^2 +  + a[m]*x^m - b[0]*y - b[1]*x*y - b[2]*x^2*y -  - b[n]*x^n*y

4Ϊxy֪,ʽ൱ڲһСԷ鼴

PS:
㷨ҵĽһ򵥵ĳֵֵ̽δֵԶҪע⣡Ǻܸ,ɽֵΪʼֵϵн!

:

x=1:0.1:6;y=(1+2*x+3*x^2+4*x^3)/(2+3*x+4*x^2+5*x^3);//س, a = [1 2 3 4],b=[2 3 4 5]

[ar,br,er]=RationalFit(x,y,3)//سõ½,ԷĽǽabͬʱ5õĽ
ar =
[ 0.20077678201862    0.39951567103534    0.60277325466048    0.80000017332364 ]
br =
[ 0.40128583336452    0.59953553903010    0.80347077435899    1.00000000000000 ]
er =
[ 9.8735308951E-16 ]