Как отфильтровать термины из уравнения, используя критерии фильтра - PullRequest
0 голосов
/ 10 мая 2019

Я хочу отфильтровать конкретные термины из многомерных затрат Тейлора. Мне нужно отфильтровать термины, на которые влияют разные факторы.

Для примера: f(a,b) = a/b

Фильтрация каждого расширения, на которое влияют:

  • (a-a1)
  • (b-b1)
  • и (a-a1) и (b-b1)

К настоящему времени я могу разделить термины и выбрать их "вручную".

Это для анализа отклонений.

syms a b a1 b1 test test2;

n = 150 % 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

filter = children(test2(2) + (a-a1) + (b-b1));
filter = [ a, -a1, b, -b1, (a - a1)/b1, -(a1*(b - b1))/b1^2]

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

Я ожидаю извлечь отдельные термины, например, критерии, на которые влияет (a-1).

...