RSolveValue[eqn,expr,n]
给出 expr 的值,其值由自变量为 n 的常差分方程 eqn 的一个符号解决定.
RSolveValue[{eqn1,eqn2,…},expr,…]
使用一组差分方程的符号解.
RSolveValue[eqn,expr,{n1,n2,…}]
使用部分递推方程 eqn 的解.
RSolveValue
RSolveValue[eqn,expr,n]
给出 expr 的值,其值由自变量为 n 的常差分方程 eqn 的一个符号解决定.
RSolveValue[{eqn1,eqn2,…},expr,…]
使用一组差分方程的符号解.
RSolveValue[eqn,expr,{n1,n2,…}]
使用部分递推方程 eqn 的解.
更多信息和选项
- RSolveValue[eqn,a,n] 给出 a 为纯函数的解.
- 方程可涉及形为 a[n+λ] 的对象,其中 λ 是常量,或推广为形式为 a[ψ[n]]、a[ψ[ψ[n]]]、a[ψ[…[ψ[n]]…]] 的对象,ψ 可有以下形式:
-
n+λ 算术差分方程 μ n 几何或
-差分方程μ n+λ 算术-几何函数差分方程 μ nα 几何-幂函数差分方程 
线性分数函数差分方程 - 可以给出像 a[0]==val 这样的方程来指定结束条件.
- 如果没有指定足够多的结束条件,RSolveValue 将使用引入未定常数的通解.
- a∈Vectors[p] 或 a∈Matrices[{m,p}] 可以分别用来表示因变量 a 是向量值变量或矩阵值变量. 或者,也可以将 a 指定为 VectorSymbol 或 MatrixSymbol. » »
- 用整数对由 RSolveValue 引入的常数进行索引. 选项 GeneratedParameters 指定应用于每个索引的函数. 默认为GeneratedParameters->C,它会生成常数 C[1]、C[2] ….
- GeneratedParameters->(Module[{C},C]&) 保证积分常数是唯一的,甚至在不同的 RSolveValue 调用之间.
- 对于部分递推方程, RSolveValue 将生成任意函数 C[n][…].
- 由 RSolveValue 给出的解在某些时候包括不能直接被 Sum 计算的和. 可在这样的和中使用有局部名称的虚变量.
- RSolveValue[eqn,a[Infinity],n] 给出解 a 在 Infinity 处的极限值.
- RSolveValue 能处理常差分方程和
-差分方程. - RSolveValue 能处理差分-代数方程以及常差分方程.
- RSolveValue 可以求解常系数的任意阶线性递推方程. 它还可以求解许多非常数系数的最大阶数为二的线性方程,以及许多非线性方程.
- RSolveValue[u[t]sys,resp,t] 可用于解离散时间模型,其中 sys 可以是 TransferFunctionModel 或 StateSpaceModel,响应函数 resp 可为以下形式: »
-
"StateResponse" sys 对输入
的状态响应"OutputResponse" sys 对输入
的输出响应
范例
打开所有单元 关闭所有单元基本范例 (4)
RSolveValue[a[n + 1] - 2a[n] == 1, a[n], n]RSolveValue[{a[n + 1] - 2a[n] == 1, a[0] == 1}, a[n], n]sol = RSolveValue[{a[n + 1] - 2a[n] == 1, a[0] == 1}, a, n]DiscretePlot[sol[n], {n, 0, 7}]RSolveValue[a[n] == Sqrt[n]a[Sqrt[n]] + n, a[n], n]RSolveValue[{a[n + 1] == 2a[n], a[0] == 1}, a[3], n]RSolveValue[{a[n + 1] == 2a[n], a[0] == 1}, {a[3], a[4]}, n]范围 (54)
基本用途 (9)
RSolveValue[a[n + 1] == 3a[n], a[n], n]sol = RSolveValue[{a[n + 1] == 3a[n], a[0] == 1}, a[n], n]sol = RSolveValue[{a[n + 1] == 2 a[n] + 5, a[0] == 3}, a[n], n]DiscretePlot[sol, {n, 0, 10}]Table[sol, {n, 0, 10}]eqns = {a[n + 1] == 4a[n] + k E ^ n, a[0] == 3};sol = RSolveValue[eqns, a, n]eqns /. {a -> sol}//SimplifyRSolveValue[a[n + 2] - 5a[n + 1] + 6a[n] == n, a[n], n]RSolveValue[{a[n + 2] - 5a[n + 1] + 6a[n] == n, a[0] == 1, a[1] == 3}, a[n], n]eqns = {a[n + 1] - b[n] == 2, a[n] - 3 b[n + 1] == 5, a[0] == 3, b[0] == 1};{sol1, sol2} = RSolveValue[eqns, {a, b}, n]DiscretePlot[Evaluate[{sol1[n], sol2[n]}], {n, 0, 20}]eqns /. {a -> sol1, b -> sol2}//SimplifyRSolveValue[{x[n + 1] == (1 + x[n]) ^ 2, x[0] == 0}, x[5], n]计算解在 Infinity 处的极限值:
RSolveValue[{x[n + 1] == (7 + x[n]) / (1 + x[n]), x[1] == 3}, x[∞], n]sol = RSolveValue[7a[m + 1, n] - 6a[m, n + 1] == m, a[m, n], {m, n}]sol1 = sol /. C[1] -> CosDiscretePlot3D[sol1, {m, 0, 15}, {n, 0, 15}]RSolveValue[a[n + 2] - 7a[n + 1] + 12a[n] == 1, a[n], n]RSolveValue[a[n + 2] - 7a[n + 1] + 12a[n] == 1, a[n], n, GeneratedParameters -> f]线性差分方程 (7)
RSolveValue[{a[n + 1] == c a[n], a[0] == 1}, a, n]RSolveValue[a[n + 1] == (n ^ 2 - 1 / 4) / (n + 1) a[n], a[n], n]RSolveValue[a[n + 3] == 2a[n], a, n]RSolveValue[{a[n + 3] == 2a[n], a[0] == 1, a[1] == 2, a[2] == -1}, a[n], n]DiscretePlot[%, {n, 15}, Filling -> Axis]RSolveValue[a[n + 2] - 4a[n + 1] + 3a[n] == n 4 ^ n, a[n], n]RSolveValue[(n + 4) a[n + 2] - a[n + 1] - (n + 1)a[n] == 0, a[n], n]RSolveValue[a[n + 2] == (n + 1)2 ^ n a[n], a[n], n]RSolveValue[2 a[n] - 2 n (-a[n] + a[n + 1]) + n (1 + n) (a[n] - 2 a[n + 1] + a[n + 2]) == 0, a, n]RSolveValue[(n + 2)a[n + 2] == (2 n + 3) x a[n + 1] - (n + 1) a[n], a, n]RSolveValue[a[n] == 2(1 + n) / (b + c z) a[n + 1] - a[n + 2], a[n], n]RSolveValue[a[n] == 2(n + 1) / n(c * z + d) a[n + 1] - (n + 2) / n a[n + 2], a, n]RSolveValue[ a[n + 2] + (2n + 1) a[n + 1] + n ^ 2 a[n] == 0, a[n], n ]RSolveValue[ y[k + 4] + 4y[k + 2] - 3 y[k + 1] + 2 y[k] == (2k^2 + 3k - 4) 2^3k, y[k], k ]非线性差分方程 (5)
RSolveValue[a[n + 1] == 2(1 - a[n])a[n], a[n], n]RSolveValue[a[n + 1] == -2(1 - a[n])a[n], a[n], n]RSolveValue[a[n + 1] == 4(1 - a[n])a[n], a[n], n]RSolveValue[a[n + 1] == -(a[n] + 15) / (a[n] + 7), a[n], n]RSolveValue[ a[n + 1] a[n] - 2 a[n] + 2 == 0, a, n]RSolveValue[a[n + 1] == (40 + 21 a[n] - 24 a[n] ^ 2 + 4 a[n] ^ 3) / 9, a[n], n]RSolveValue[a[n + 1] == (-7300 + 9600 a[n] + 300 a[n] ^ 2 - 200 a[n] ^ 3 + a[n] ^ 4/2108 + 584 a[n] - 288 a[n] ^ 2 - 4 a[n] ^ 3 + a[n] ^ 4), a[n], n]RSolveValue[a[n + 1] == (-168 - 36 a[n] + 12 a[n] ^ 2 - a[n] ^ 3/-88 - 12 a[n] + 3 a[n] ^ 2), a[n], n]RSolveValue[ a[n + 2] == a[n + 1] a[n] ^ 2, a[n], n]RSolveValue[ a[n + 2] == b ^ n a[n + 1] a[n] ^ 2, a[n], n]RSolveValue[{a[n + 1] == Sum[a[m] a[n - m], {m, 0, n}], a[0] == 1}, a[n], n]差分方程组 (8)
RSolveValue[{y[n + 1] + z[n] == 3, y[n] + 2 z[n + 1] == 1}, {y[n], z[n]}, n]{sol1, sol2} = RSolveValue[{y[n + 1] + z[n] == 3, y[n] + 2 z[n + 1] == 1, y[0] == 5, z[0] == 1}, {y, z}, n]ListPlot[Transpose @ Table[{sol1[n], sol2[n]}, {n, 0, 15}], Filling -> Axis]RSolveValue[{y[n + 1] == (3y[n]/1 + y[n] + z[n]), z[n + 1] == (z[n]/1 + y[n] + z[n])}, {y[n], z[n]}, n]RSolveValue[{x[n + 1] == (x[n] + 3 y[n]/4 + x[n] + y[n] + z[n]), y[n + 1] == (y[n] + 2 z[n]/4 + x[n] + y[n] + z[n]), z[n + 1] == (z[n]/4 + x[n] + y[n] + z[n])}, {x[n], y[n], z[n]}, n]RSolveValue[{y[n + 1] == (n + 1) / 2 ^ n y[n], z[n + 1] == n ^ 2 z[n]}, {y[n], z[n]}, n]RSolveValue[ {-((1 + 3 n + n ^ 2) x[n]/n ^ 2) + x[n + 1] + (y[n]/n) + ((1 + 2 n) z[n]/n ^ 2) == 0, -y[n] + (n ^ 2y[n + 1] + (1 + 2 n) (-x[n] + z[n])/n ^ 2) == 0, (-x[n] + y[n] - n z[n] + n z[n + 1]/n) == 0}, {x, y, z}, n ]RSolveValue[{y[n + 1] + z[n + 1] == y[n] - 3z[n], y[n] + 2z[n] == 1}, {y[n], z[n]}, n]RSolveValue[{x[n + 1] == x[n] + 2y[n], y[n] == x[n] + 2 ^ n, x[n] + z[n] == 0}, {x[n], y[n], z[n]}, n]a = {{n, 1}, {1, 0}};RSolveValue[x[n + 1] == a.x[n], Element[x[n], Vectors[2]], n]或者,将
定义为 VectorSymbol:
x = VectorSymbol["x", 2]RSolveValue[x[n + 1] == a.x[n], x[n], n]a = {{0, 1}, {-1, 0}};
x0 = {{1, 2}, {3, 4}};RSolveValue[{x[n + 1] == a.x[n], x[0] == x0}, Element[x[n], Matrices[{2, 2}]], n]//MatrixForm或者,将
定义为 MatrixSymbol:
x = MatrixSymbol["x", {2, 2}]RSolveValue[{x[n + 1] == a.x[n], x[0] == x0}, x[n], n]//MatrixFormA = {{2, 1}, {-2, 0}};
B = {3t, 4}Exp[2t];RSolveValue[x[t + 1] + A.x[t] == B, Element[x[t], Vectors[2]], t]部分差分方程 (3)
RSolveValue[a[m + 1, n] - 3 / 4a[m, n + 1] == 0, a[m, n], {m, n}]% /. C[1] -> Function[k, Sin[2k]]Plot3D[%, {m, 0, 10}, {n, 0, 10}, PlotRange -> All]RSolveValue[ a[m + 2, n] == 4a[m, n + 1], a[m, n], {m, n}]RSolveValue[ a[m + 3, n] - 3a[m + 2, n + 1] + 3a[m + 1, n + 2] - a[m, n + 3] == 0, a[m, n], {m, n}]RSolveValue[a[m + 4, n] - 4a[m + 3, n + 1] + 6a[m + 2, n + 2] - 4a[m + 1, n + 3] + a[m, n + 4] == 0, a, {m, n}]RSolveValue[a[m + 1, n] - 4a[m, n + 1] == 6m ^ 2 n + 4, a[m, n], {m, n}]RSolveValue[ a[m, n] - m a[m - 1, n - 1] == 0, a[m, n], {m, n}]RSolveValue[a[m, n] == m ^ 3a[m + 1, n + 1] , a, {m, n}]Q–差分方程 (6)
RSolveValue[a[q n] == 2a[n], a[n], n]RSolveValue[a[n] == 2a[n / q], a[n], n]RSolveValue[{a[n] == 2a[n / q], a[1] == 1}, a[n], n]RSolveValue[a[q n] + a[n / q] == 0, a[n], n]RSolveValue[a[n] == a[n / q ^ 3], a, n]RSolveValue[a[q ^ 2 n] + a[n] == n, a[n], n]RSolveValue[{a[n] == 3 a[n / 2] + n, a[1] == 1}, a[n], n]DiscretePlot[%, {n, 1, 10}, Filling -> Axis]RSolveValue[a[q n] == n a[n], a, n]RSolveValue[a[q ^ 2 n] == n a[n], a, n]RSolveValue[ a[q n] == a[n] ^ 2, a, n]RSolveValue[a[q n] == -(a[n] + 15) / (a[n] + 7), a[n], n]RSolveValue[{y[q ^ 2 n] - z[q n] == 0, z[q n] - 5 y[n] == 0}, {y[n], z[n]}, n]泛函差分方程 (4)
sol = RSolveValue[y[n + (1/3)] == 2 y[n + (1/6)] + n^2, y, n]y[n + 1 / 3] == 2y[n + 1 / 6] + n ^ 2 /. {y -> sol}//FullSimplifysol = RSolveValue[{y[n] == 2^n y[(n/2) + 1], y[3] == 4}, y, n]ListLogPlot[Table[sol[n], {n, 3, 10}], Filling -> Axis]sol = RSolveValue[{y[(2 n - 1/-n + 2)] == 3 y[n] + 5, y[4] == 3}, y, n]Table[sol[n], {n, 4, 10}]sol = RSolveValue[y[n] == Log[2, n] + 2 y[4 Sqrt[n]], y, n]y[n] == Log[2, n] + 2 y[4 Sqrt[n]] /. {y -> sol}//FullSimplify递归数列的极限 (5)
RSolveValue[{x[n + 1] == (x[n] + n x[n - 1]) / (n + 1), x[0] == 0, x[1] == 1}, x[∞], n]N[%]ListPlot[RecurrenceTable[{x[n + 1] == (x[n] + (n x[n - 1])) / (n + 1), x[0] == 0, x[1] == 1}, x[n]//Evaluate, {n, 1, 50}], PlotStyle -> Red]RSolveValue[{x[n + 1] == x[n] ^ 2 + 1 / 4, x[0] == 1 / 3}, x[∞], n]ListPlot[RecurrenceTable[{x[n + 1] == x[n] ^ 2 + 1 / 4, x[0] == 1. / 3}, x[n]//Evaluate, {n, 0, 20}], PlotStyle -> Red]RSolveValue[{x[n + 1] == Cos[x[n]] / 2, x[1] == π / 3}, x[∞], n]N[%]ListPlot[RecurrenceTable[{x[n + 1] == Cos[x[n]] / 2, x[1] == π / 3}, x[n], {n, 1, 15}], PlotStyle -> Red]RSolveValue[{x[n + 2] == (x[n + 1] + x[n]) / 2, x[0] == 0, x[1] == 1}, x[∞], n]ListPlot[RecurrenceTable[{x[n + 2] == (x[n + 1] + x[n]) / 2, x[0] == 0, x[1] == 1}, x[n], {n, 1, 25}], PlotStyle -> Red]对满足差分方程的斐波纳契序列计算相邻项比值 (f[n+1]/f[n]) 的极限:
fibeqn = {f[n] == f[n - 1] + f[n - 2], f[0] == 0, f[1] == 1};frat = RSolveValue[fibeqn, f[n + 1] / f[n], n]用 DiscreteLimit 计算比值的极限:
ratlim = DiscreteLimit[frat, n -> ∞]N[%]ListPlot[Table[frat, {n, 1, 25}], PlotStyle -> Red]或者使用 RSolveValue 的 DiscreteLimit 计算极限:
RSolveValue[fibeqn, DiscreteLimit[f[n + 1] / f[n], n -> ∞], n]系统模型 (7)
计算离散时间 StateSpaceModel 对正弦输入信号的 OutputResponse 和 StateResponse:
ssm = StateSpaceModel[{{{a}}, {{b}}, {{c}}, {{d}}}, SamplingPeriod -> 1]RSolveValue[Sin[t] -> ssm, "StateResponse", t]RSolveValue[Sin[t] -> ssm, "OutputResponse", t]tfm = TransferFunctionModel[{{{1}}, 1 + s}, s, SamplingPeriod -> 0.1]RSolveValue[Sin[10t] -> tfm, "OutputResponse", t]RSolveValue[{0 -> StateSpaceModel[{{{-2, 0.8, 0}, {-0.8, -2, 0}, {0, 0, -1}}, {{1}, {0}, {-1}}, {{1, 0, 0}}, {{0}}},
SamplingPeriod -> 0.2, SystemsModelLabels -> None], {1, 2, 3}}, "OutputResponse", t]τ = 1.5;
sr = RSolveValue[UnitStep[k] -> StateSpaceModel[{{{0, 1}, {-1/20, 3/5}}, {{0}, {1}}, {{0, 1}}, {{0}}},
SamplingPeriod -> τ, SystemsModelLabels -> None], "StateResponse", k]ListStepPlot[Table[sr, {k, 0, 8}], DataRange -> {0, 8 τ}]RSolveValue[{u[k] -> StateSpaceModel[{{{a}}, {{b}}}, SamplingPeriod -> T,
SystemsModelLabels -> None], {Subscript[x, 0]}}, "StateResponse", k]RSolveValue[{1 -> StateSpaceModel[{{{a}}, {{b}}, {{c}}, {{d}}},
SamplingPeriod -> T, SystemsModelLabels -> None], {Subscript[x, 0]}}, "OutputResponse", k]or = RSolveValue[Sqrt[k] -> TransferFunctionModel[{{{(1 + z)*τ^2}}, 2*(-1 + z)^2},
z, SamplingPeriod -> τ], "OutputResponse", k]ListStepPlot[Table[or /. τ -> 0.1, {k, Range[20]}], DataRange -> {0, 20 0.1}]推广和延伸 (2)
RSolveValue[{a[n + 1] == a[n] + 1, a[0] == 0}, a[n] ^ 2, n]RSolveValue[{a[n + 2] == 4a[n]}, a[n], n]RSolveValue[{a[n + 2] == 4a[n], a[0] == 1}, a[n], n]RSolveValue[{a[n + 2] == 4a[n], a[0] == 1, a[1] == 4}, a[n], n]选项 (3)
GeneratedParameters (1)
Method (1)
RSolveValue[{a[n + 1] - 2a[n] == 0, a[0] == 1}, a[n], n]获取用 DifferenceRoot 表示的解:
RSolveValue[{a[n + 1] - 2a[n] == 0, a[0] == 1}, a[n], n, Method -> "Holonomic"]Assumptions (1)
RSolveValue[{a[n + 2] == λ a[n], a[0] == 0, a[1] == 1}, a[n], n]用 Assumptions 指定参数 λ 为正:
RSolveValue[{a[n + 2] == λ a[n], a[0] == 0, a[1] == 1}, a[n], n, Assumptions -> λ > 0]Simplify[%]应用 (13)
这是模拟当只对本金 p 付了利息 r 时,第 n 年的数额 a[n] :
RSolveValue[{a[n + 1] == a[n] + r p, a[0] == p}, a[n], n]//FactorRSolveValue[{a[n + 1] == (1 + r)a[n], a[0] == p}, a[n], n]这里 a[n] 表示有 n 个圆盘的汉诺塔问题所需要移动的次数:
RSolveValue[{a[n + 1] == 2a[n] + 1, a[1] == 1}, a[n], n]这里 a[n] 是用 2×1 的瓷砖铺一个 n×3 的空间的方法数:
sol = RSolveValue[{a[n + 4] - 4a[n + 2] + a[n] == 0, a[1] == 0, a[2] == 3, a[3] == 0, a[4] == 11}, a, n]Table[Evaluate[sol[n]], {n, 2, 20, 2}]//FullSimplifyRSolveValue[b[n] == b[n / 2] + 1 && b[1] == 1, b[n], n]RSolveValue[f[n] == 2 f[n / 2] + (3 / 2)n, f[n], n]RSolveValue[{x[n + 1] == Sqrt[6 + x[n]], x[1] == Sqrt[6]}, x[3], n]RSolveValue[{x[n + 1] == Sqrt[6 + x[n]], x[1] == Sqrt[6]}, x[∞], n]ListPlot[RecurrenceTable[{x[n + 1] == Sqrt[6 + x[n]], x[1] == Sqrt[6]}, x[n], {n, 1, 15}], PlotStyle -> Red]RSolveValue[{e[n + 1] == 1 / n(Exp[-x] - x e[n]), e[1] == Gamma[0, x]}, e[n], n]RSolveValue[{i[n + 2] - 2Cos[ϕ]i[n + 1] + i[n] == 0, i[0] == 0, i[1] == Pi}, i[n], n]RSolveValue[{n a[n] == 2a[n - 2], a[0] == 1, a[1] == 0}, a[n], n]Table[%, {n, 0, 10}]DSolveValue[{y'[x] == 2x y[x], y[0] == 1}, y[x], x]Series[%, {x, 0, 10}]SeriesCoefficient[Exp[x ^ 2], {x, 0, n}]Table[%, {n, 0, 10}]一个 n×n,对角线 为c,a,b 的三对角矩阵的行列式满足:
RSolveValue[{d[n + 2] == a d[n + 1] - b c d[n], d[1] == a, d[2] == a ^ 2 - b c}, d[n], n]Table[%, {n, 2, 5}]//SimplifyTable[Det @SparseArray[{Band[{1, 1}] -> a, Band[{1, 2}] -> b, Band[{2, 1}] -> c}, {n, n}], {n, 2, 5}]RSolveValue[{s[n + 2] == 2Pi / n s[n], s[2] == 2Pi, s[3] == 4Pi}, s[n], n]Table[%, {n, 2, 10}]RSolveValue[{v[n] == 2Pi v[n - 2] / n, v[2] == Pi, v[3] == 4 / 3Pi}, v[n], n]Table[%, {n, 2, 10}]RSolveValue[y[n + 1] == (1 / 2)(y[n] + 3 / y[n]) && y[0] == 1 / 5, y[n], n]Table[%, {n, 1., 6}]//Chopsol = RSolveValue[ {(101 y[n]/100) - 2 y[n + 1] + y[n + 2] == 0, y[0] == 1, y[1] == 1}, y, n]Plot[sol[k], {k, 0, 10}]dsol = DSolveValue[ y''[x] + 1 / 100y[x] == 0 && y[0] == 1 && y[1] == 1, y, x]Plot[dsol[x], {x, 0, 10}]ksol = RSolveValue[ {t[n] == 3 t[n / 2 + 1] + n , t[3] == 1}, t[n], n ]DiscretePlot[{ksol, n ^ 2}, {n, 5, 300}, PlotLegends -> {"Karatsuba", "Schoolbook"}]RSolveValue[{x[n + 4] == 3x[n + 3] + x[n + 2] + x[n + 1] + 4 x[n], x[1] == 1, x[2] == -37, x[3] == 9, x[4] == 80}, x[500], n]//AbsoluteTimingRSolveValue[{x[n + 4] == 3x[n + 3] + x[n + 2] + x[n + 1] + 4 x[n], x[1] == 1, x[2] == -37, x[3] == 9, x[4] == 80}, x[500000], n];//AbsoluteTiming属性和关系 (10)
RSolveValue 返回解的一个表达式:
RSolveValue[a[n + 1] - 2a[n] == 1, a[n], n]RSolve 返回一个解的规则:
RSolve[a[n + 1] - 2a[n] == 1, a[n], n]sol = RSolveValue[{a[n + 2] == a[n], a[0] == 1, a[1] == 2}, a, n]{a[n + 2] == a[n], a[0] == 1, a[1] == 2} /. {a -> sol}//Simplify对应于 Sum 的差分方程:
RSolveValue[a[n + 1] - a[n] == n ^ 2 && a[0] == 0, a[n], n]//ExpandSum[i ^ 2, {i, 0, n - 1}]//Expand对应于 Product 的差分方程:
RSolveValue[a[n + 1] == n a[n] && a[1] == 1, a[n], n]//FunctionExpandProduct[i, {i, 1, n - 1}]//FunctionExpandRSolveValue 找到该差分方程的一个符号解:
RSolveValue[{a[n + 1] == 2a[n] + 1, a[0] == 7}, a[n], n]Table[%, {n, 0, 7}]RecurrenceTable 生成同样一个问题的子程序解:
RecurrenceTable[{a[n + 1] == 2a[n] + 1, a[0] == 7}, a, {n, 0, 7}]FindLinearRecurrence 找到一个列表的最小线性递推:
FindLinearRecurrence[Table[Fibonacci[k], {k, 7}]]RSolveValue 找到满足递推的序列::
RSolveValue[{a[n] == %.{a[n - 1], a[n - 2]}, a[1] == 1, a[2] == 1}, a[n], n]LinearRecurrence 产生线性递归数列的第 n
项:
LinearRecurrence[{1, 1}, {1, 1}, {7}]用 RSolveValue 获得同样的结果:
RSolveValue[{a[n + 2] == a[n + 1] + a[n], a[0] == 1, a[1] == 1}, a[6], n]用 RecurrenceFilter 过滤一个信号:
RecurrenceFilter[{{1, -(1/2)}, {1}}, {1, 0, 0, 0, 0, 0, 0, 0}]用 RSolveValue 解相对应的差分方程:
RSolveValue[{y[n] - (1/2)y[n - 1] == DiscreteDelta[n], y[-1] == 0}, y[n], n]Table[%, {n, 0, 7}]预测基于 ARProcess 的时间序列的下一个值:
proc = ARProcess[{a[2], a[1]}, v];TimeSeriesForecast[proc, {3, 5}]用 RSolveValue 得到同样的结果:
RSolveValue[{x[n + 1] == a[2] x[n] + a[1]x[n - 1], x[1] == 3, x[2] == 5}, x[3], n]//Simplify用 RFixedPoints 求由两个递归方程组成的方程组的不动点:
RFixedPoints[{a[n + 1] - b[n] == 2, a[n] - 3 b[n + 1] == 5}, {a, b}, n]用 RStabilityConditions 分析不动点的稳定性:
RStabilityConditions[{a[n + 1] - b[n] == 2, a[n] - 3 b[n + 1] == 5}, {a, b}, n]sol = RSolveValue[{a[n + 1] - b[n] == 2, a[n] - 3 b[n + 1] == 5, a[0] == 1 / 2, b[0] == -3 / 2}, {a[n], b[n]}, n]sol = RSolveValue[{a[n + 1] - b[n] == 2, a[n] - 3 b[n + 1] == 5, a[0] == 3, b[0] == 1}, {a[n], b[n]}, n]DiscretePlot[Evaluate[sol], {n, 0, 20}]可能存在的问题 (4)
RSolveValue[{x[K + 1] == x[K] + Prime[K]}, x[K], K]RSolveValue[{x[C + 1] == x[C] + Prime[C]}, x[C], C]RSolveValue[{x[k + 1] == x[k] + Prime[k]}, x[k], k]RSolveValue[{x[c + 1] == x[c] + Prime[c]}, x[c], c]RSolveValue[a[n + 1] == 2a[n] && a[0] == 1, a, n]a[n + 1] == 2a[n] && a[0] == 1 /. a -> Function[n, 2 ^ n + a Sin[Pi n]]Simplify[ %, n∈Integers ]RSolveValue 只返回单个分支如果解有多个分支:
RSolveValue[{a[n + 1] == 2a[n], a[1] ^ 2 == 1}, a[n], n]用 RSolve 得到所有解的分支:
RSolve[{a[n + 1] == 2a[n], a[1] ^ 2 == 1}, a[n], n]eqn = Subscript[a, n + 1] - 2 Subscript[a, n] == 1;Subscript[sol, n_] = RSolveValue[eqn, Subscript[a, n], n]Simplify[eqn /. {a -> sol}]技术笔记
相关指南
-
▪
- 离散微积分 ▪
- 符号向量、矩阵和数组
文本
Wolfram Research (2014),RSolveValue,Wolfram 语言函数,https://reference.wolfram.com/language/ref/RSolveValue.html (更新于 2025 年).
CMS
Wolfram 语言. 2014. "RSolveValue." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2025. https://reference.wolfram.com/language/ref/RSolveValue.html.
APA
Wolfram 语言. (2014). RSolveValue. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/RSolveValue.html 年
BibTeX
@misc{reference.wolfram_2026_rsolvevalue, author="Wolfram Research", title="{RSolveValue}", year="2025", howpublished="\url{https://reference.wolfram.com/language/ref/RSolveValue.html}", note=[Accessed: 14-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_rsolvevalue, organization={Wolfram Research}, title={RSolveValue}, year={2025}, url={https://reference.wolfram.com/language/ref/RSolveValue.html}, note=[Accessed: 14-November-2026]}