2012-03-13 4 views
1

Я работаю над Matlab, и мне нужно определить матричную функцию, которая зависит от нескольких переменных.Matlab | Матричная функция нескольких переменных

К примеру, у меня есть это векторы:

t=[1,2,3,4,5,6,7,8,9,10] 
y=[1,2,3,4,5,6,7,8,9,10] 

Это может содержать любые действительные числа или иметь любую длину (одинаковую длину для т и у, я назвал его NumData).

У меня есть функция, которая зависит от некоторых параметров P1, P2, ..., P5. Я хочу сделать, чтобы сформировать матрицу (NumData x 5), которая зависит от p, вектор параметров:

Я не знаю, как продвигаться дальше. Я думал определить Матрицу:

Matrix = ones(NumData,NumParameters) 

Но когда я пытаюсь передать, например

Matrix(1,3) = p(1)+3*p(2) 

Я получил сообщение об ошибке.

Я попытался определить:

Matrix(1,3)[email protected](p) p(1)+3*p(2) 

Но это бесполезно ...

Я попытался определить матрицу в коде, например:

[email protected](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 vector, а tha t J зависит от параметра вектора p, поэтому я могу позже оценить

A= J(1,2,1,2,2) 

например, а затем факторизовать A как QR.

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

+1

Пожалуйста, разместите полученные сообщения об ошибках. – PearsonArtPhoto

+0

Ваш вопрос очень неясен без вставленных в него сообщений об ошибках. Если ошибка является только что-то вроде строк «указателей за пределы», то ваша матрица не является достаточной для начала. – learnvst

ответ

0

Я не уверен на 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))] 
Смежные вопросы