24小时热门版块排行榜    

查看: 881  |  回复: 11
本帖产生 1 个 程序强帖 ,点击这里进行查看
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

ldoop

铁杆木虫 (著名写手)


[交流] 【求助】rsolve问题

Hi all,

I want to calculate the expression by a recurrence equation but I got this error:
RSolve::litarg: To avoid possible ambiguity, the arguments of the dependent variable in Hypergeometric2F1[a,a,a+n,z] should literally match the independent variables. >>

the code is:
F[n_] := Hypergeometric2F1[a, a, a + n, z]
RSolve[{(n + a) (n + a - 1 - (2 n - 1) z) F[n] - (n + a) (n + a - 1) (1 - z) F[n - 1] + n^2 F[n + 1] == 0,
  F[0] == ((a - 1) (1 - z))/(a - 1 + z) Hypergeometric2F1[a, a, a - 1, z]}, F[n],n]

请大家帮忙看看 程序有啥问题 或者有更好的办法求出F[n],谢谢了
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ldoop

铁杆木虫 (著名写手)


ajian04:谢谢参与交流~ 2010-10-22 16:16:18
引用回帖:
Originally posted by ldoop at 2010-10-15 16:16:41:
Hi all,

I want to calculate the expression by a recurrence equation but I got this error:
RSolve::litarg: To avoid possible ambiguity, the arguments of the dependent variable in Hypergeometric2 ...

我给定F[0]为常数,仍然求不出来,请问应该如何处理?谢谢
3楼2010-10-18 16:38:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 12 个回答

mshwangg

至尊木虫 (正式写手)

★ ★
ldoop(金币+1):谢谢参与
余泽成(金币+1):谢谢参与应助! 2010-10-16 17:08:34
ldoop(金币+1): 2010-10-18 16:39:03
ldoop(金币+1): 2010-10-21 22:31:22
第二个方程是显然的结果,可以从F[n]定义直接得出,而并非是初值。因此你还需要另外一个方程才能解出来
2楼2010-10-16 14:12:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mshwangg

至尊木虫 (正式写手)

★ ★
余泽成(金币+2):辛苦了! 2010-10-19 15:10:59
ldoop(金币+1): 2010-10-21 20:02:57
ldoop(金币+1): 2010-10-21 20:03:08
引用回帖:
Originally posted by ldoop at 2010-10-18 16:38:26:



我给定F[0]为常数,仍然求不出来,请问应该如何处理?谢谢

先帮我解释一下,既然你已经定义F[n_]了,为何还要求F[n]?
假定F[n]的定义和第一个方程是自洽的,那么第一个方程就是显然的了。
如果不知道F[n]的定义,通过第一个和第二个方程倒是可以求出来F[n]的表达式(和你所给出的F[n]定义一致)
4楼2010-10-19 13:57:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ldoop

铁杆木虫 (著名写手)


★ ★
ajian04(金币+2):谢谢参与交流~ 2010-10-22 16:16:30
引用回帖:
Originally posted by mshwangg at 2010-10-19 13:57:24:

先帮我解释一下,既然你已经定义F[n_]了,为何还要求F[n]?
假定F[n]的定义和第一个方程是自洽的,那么第一个方程就是显然的了。
如果不知道F[n]的定义,通过第一个和第二个方程倒是可以求出来F[n]的表达式( ...

好吧,我可以去掉定义,然后求的 F[n]:
DifferenceRoot[ Function[{y, n]}, {(n +a) (1 + n + a) (-1 +  z) y[n] + (1 + n + a) (n + a - z - 2 n z) y[1 + n] + (1 + n)^2 y[ 2 + n] == 0, y[0] == (1 - z)^-a, y[1]== Hypergeometric2F1[a, a, a + 1, z]}]][n]
不知道是否正确?
但是我在进行NMaximize计算时,还是有问题,请帮忙看看我的程序:

n = Table[{5, 4, 4, 4, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1}];
f[r_, x_, a_, m_] :=
DifferenceRoot[ Function[{y,m]}, {(m +a) (1 + m + a) (-1 +  z) y[m] + (1 + m + a) (m + a - z - 2 m z) y[1 + m] + (1 + m)^2 y[ 2 + m] == 0, y[0] == (1 - z)^-a, y[1]== Hypergeometric2F1[a, a, a + 1, z]}]][m]
    L[r_, x_, a_] :=
   Sum[n[[j]] (Log[r] + Log[x]) + LogGamma[a + 1] +
     LogGamma[n[[j]]] - (n - a) Log[1 - x + r x] +
     Log[f[r, x, a, n[[j]]]] - Log[x] - Log[n[[j]]] -  LogGamma[n[[j]] + a] -
     Log[HypergeometricPFQ[{1, 1, 1}, {2, 1 + a}, x] - (1 - r) HypergeometricPFQ[{1, 1, 1}, {2, 1 + a},  x - r x]], {j, 1, Length[n]}];
NMaximize[{N[L[r, x, a]], 0 < x, x < 1, 0 < r, r < 1, a > 0}, {x, r, a}]

谢谢了
5楼2010-10-21 22:02:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见