Создание массива n-измерений в пакете Octave. - PullRequest
0 голосов
/ 16 мая 2019

У меня есть набор функций из набора переменных. И я хочу сохранить функции в векторе, первую частную производную в матрице и вторую частную производную в трехмерной матрице. Вот так (не проверяйте, это не работает, просто пример того, что я собираюсь сделать):

    pkg load symbolic

    syms x y

    f(x,y) = x^2 + y
    g(x,y) = x + y^2

    vec = [f;g]
    u = [x,y]

    dVec = sym(zeros(length(vec),length(u)))
    d2Vec = sym(zeros(length(vec),length(u),length(u)))

      for i = 1:length(vec)
        for j = 1:length(u)
          ###First derivative
          dVec(i,j) = diff(vec(i),u(j));
          for k = 1:length(u)
          ###Second derivative
          d2Vec(i,j,k)=diff(dVec(i,j),u(k));
          endfor
        endfor
      endfor

Имеете ли вы представление об обходном цикле, который не умножает промежуточную операцию для дальнейшего расчета, например, файл функции автоматического создания?

Функции символьных вычислений взяты из библиотеки "Symbolic" для Octave и MatLab, библиотеки, использующей библиотеку python "sympy".

...