MATLAB中泰勒级数展开项的分离与分配

MATLAB中泰勒级数展开项的分离与分配,matlab,symbolic-math,taylor-series,Matlab,Symbolic Math,Taylor Series,如何将泰勒级数展开式的项“分离”为单个部分?我在管理会计中使用这个工具进行差异分析 我需要为影响因素指定单个术语 这段代码可能是永续年金最简单的表述。我想展示贴现率(b)和现金流(a)的变化如何影响价值 syms a b a1 b1 test; test = evalin(symengine,'mtaylor(a/b , [a = a1, b = b1], 4)') dtest = subs(test, [a, a1, b, b1],[40,150,0.01,0.12])-(a1/b1) dte

如何将泰勒级数展开式的项“分离”为单个部分?我在管理会计中使用这个工具进行差异分析

我需要为影响因素指定单个术语

这段代码可能是永续年金最简单的表述。我想展示贴现率(b)和现金流(a)的变化如何影响价值

syms a b a1 b1 test;
test = evalin(symengine,'mtaylor(a/b , [a = a1, b = b1], 4)')
dtest = subs(test, [a, a1, b, b1],[40,150,0.01,0.12])-(a1/b1)
dtest2 = subs(dtest, [a1,b1],[150,0.12])   
以下分离是手动进行的:

+(a - a1)/b1                  affected by delta cashflow
-(A1*(b - B1))/B1^2           affected by delta discount rate
-((a - a1)*(b - b1))/b1^2     affected by a mix of cashflow and disc. rate
+(a1*(b - b1)^2)/b1^3         affected by delta discount rate
-(a1*(b - b1)^3)/b1^4         affected by delta discount rate
+((a - a1)*(b - b1)^2)/b1^3   affected by a mix of cashflow and disc. rate

dtest2 -->>> The whole deviation 

为了减少级数展开的剩余部分,我想将级数展开到“200”的数量级,例如,这就是为什么我想系统地而不是手动地分离和分配单个项。

找到两个连续的泰勒级数展开,然后从前面的级数中减去当前级数,您将得到所需的额外单个部分

syms a b a1 b1 test test2;
n = 4 % Taylor Expansion degree
for i = 1:n
    test(i) = evalin(symengine,strcat('mtaylor(a/b , [a = a1, b = b1], ', num2str(i), ')'));
     if i == 1
        test2(i) = test(i);
     else
        test2(i) = test(i)-test(i-1);
     end
end

test2(1) = a1/b1
test2(2) = (a - a1)/b1 - (a1*(b - b1))/b1^2
test2(3) = (a1*(b - b1)^2)/b1^3 - ((a - a1)*(b - b1))/b1^2
test2(4) = ((a - a1)*(b - b1)^2)/b1^3 - (a1*(b - b1)^3)/b1^4
过滤测试2(2)

忽略前4个数组元素

filter(5) = (a - a1)/b1
filter(6) = -(a1*(b - b1))/b1^2
filter(5) = -((a - a1)*(b - b1))/b1^2
filter(6) = a1*(b - b1)^2)/b1^3
过滤测试2(3)

忽略前4个数组元素

filter(5) = (a - a1)/b1
filter(6) = -(a1*(b - b1))/b1^2
filter(5) = -((a - a1)*(b - b1))/b1^2
filter(6) = a1*(b - b1)^2)/b1^3

非常感谢您快速而有益的回复!这很好,但我还有另一个问题。我如何过滤有关影响因素数量的方程式?例如:test2(2)=(a-a1)/b1-(a1*(b-b1))/b1^2同时包含(a-a1)和(b-b1)。因此,“a”(现金流)的变化会产生复杂的影响和影响。再次感谢您的帮助。如何从矩阵过滤器中选择与其内容相关的项目?例如,过滤器(5)如果包含(a-a1)和(b-b1)。
filter(5) = -((a - a1)*(b - b1))/b1^2
filter(6) = a1*(b - b1)^2)/b1^3