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