Я работаю над Matlab, и мне нужно определить матричную функцию, которая зависит от нескольких переменных.
Например, у меня есть такие векторы:
t=[1,2,3,4,5,6,7,8,9,10]
y=[1,2,3,4,5,6,7,8,9,10]
Может содержать любые действительные числа или иметь любую длину (одинаковую длину для t и y, я назвал это NumData).
У меня есть функция, которая зависит от некоторых параметров P1, P2, ..., P5. Что я хочу сделать, это сформировать матрицу (NumData x 5), которая зависит от p, вектора параметров:
Я не знаю, как идти дальше. Я думал об определении матрицы:
Matrix = ones(NumData,NumParameters)
Но когда я пытаюсь назначить, например
Matrix(1,3) = p(1)+3*p(2)
Я получил ошибку.
Я пытался определить:
Matrix(1,3)=@(p) p(1)+3*p(2)
Но это бесполезно ...
Я пытался определить матрицу в коде следующим образом:
J=@(p) [1 1 1 exp(-p(5)) -p(4)*exp(-p(5))
1 2 4 exp(-2*p(5)) -p(4)*exp(-2*p(5))
1 3 9 exp(-3*p(5)) -p(4)*exp(-3*p(5))
1 4 16 exp(-4*p(5)) -p(4)*exp(-4*p(5))
1 5 25 exp(-5*p(5)) -p(4)*exp(-5*p(5))]
но это не хорошо, потому что это для конкретного случая ...
Моя главная цель - сформировать J из вектора t, и чтобы J зависел от параметра вектора p, чтобы я мог оценить позже
A= J(1,2,1,2,2)
например, а затем разложить A на QR.
У вас есть предложения? Или я слишком прошу Матлаба?