Я пытался создать массив symfun
, так что я могу позже получить доступ к этим функциям и выполнять diff
операции WRT к конкретным переменным, я искал и нашел код, как:Matlab: создание массива symfun
syms x
f = symfun([x1^2+x2-x3; x2+x3^2; x1*x2], x);
но это не то, что я ищу, это фрагмент кода создает symfun
из массива, но мне нужно создать массив symfun
. Так что, если у меня есть n
symfun
хранятся в массиве, а также n
переменные, хранящиеся в массиве, то нужно создать матрицу со следующим правилом:
[[diff(func_1, x1) diff(func_1, x2) ...... diff(func_1, xn)]
[diff(func_2, x1) diff(func_2, x2) ...... diff(func_2, xn)]
.
.
.
.
[diff(func_n, x1) .......................... diff(func_n, xn)]]
И вот мой код:
function[K] = bigPopaPump()
x1 = sym('x1')
x2 = sym('x2')
f1 = symfun(3*x1+2, x1)
f2 = symfun(8*x2+5, x2)
funcs = [f1, f2]
xess = [x1, x2]
dummy_array = zeros(2, 2)
for i = 1:size(funcs)
for j = 1:size(funcs)
dummy_array(i, j) = diff(funcs(i), xess(j));
end
end
display dummy_array
end