Как я могу интегрировать функцию, для которой сначала нужно выполнить матричный расчет? - PullRequest
0 голосов
/ 18 августа 2011

Сейчас я делаю диссертацию. Я застрял с интегралом. Моя функция определена как

myfun =(exp(t*Q)*V*x)(j);

, где Q и V - это матрица (n * n), x - это вектор, элементы которого равны 1, затем после вычисления мы получаем j_th-элемент этого вектора, затем мне нужно интегрировать функцию против т.

Я хочу использовать quad в matlab. Однако дело в том, что он сообщит, что внутренняя матрица имеет разный размер. Так как здесь нет числа? ....

Как я могу это сделать. В противном случае я мог бы написать только цикл против самого себя, что очень медленно.

Спасибо

1 Ответ

1 голос
/ 19 августа 2011

Для этого вы можете использовать SUBSREF (хотя вы все еще не можете выполнить цикл по всем j):

 myfunOfT = @(t)(subsref(exp(t*Q)*V*x,struct('type','()','subs',j);

Возвращает значение jй элемент массива в момент времени t.

...