Матлаб |Матричная функция нескольких переменных - PullRequest
1 голос
/ 14 марта 2012

Я работаю над 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.

У вас есть предложения? Или я слишком прошу Матлаба?

1 Ответ

0 голосов
/ 14 марта 2012

Я не уверен на 100% в том, что вы пытаетесь сделать, но позвольте мне привести несколько примеров того, как это сработает, в надежде, что это вам поможет.

p=[1 2 3 4 5];
M=zeros(3,2);
M=[p(1) p(2) p(5); p(3)/p(2) p(5)^p(2) exp(p(3))]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...